簡體   English   中英

在cakephp的同一表上使用sql聯合查找查詢

[英]using sql union on same table in cakephp find query

假設我有這樣的查詢:

(SELECT * FROM user WHERE id < 5 order by id DESC LIMIT 1)
UNION
(SELECT * FROM user WHERE id = 5)
UNION
(SELECT * FROM user WHERE id > 5  LIMIT 1)

如何將上述查詢轉換為CakePHP find('all')查詢?

謝謝

使用Model :: find('neighbors')

將其重寫為find('all')將是有問題的,但是find('neighbors')可能符合您的要求;

參見文檔find('neighbors')

這應該可以為您提供所需的數據,但是您可能必須稍微采用一些代碼,才能使其與返回數組的不同“布局”一起正常工作;

 $data = $this->User->find('neighbors', array('field' => 'id', 'value' => 5));

更新

剛剛看到您使用的是CakePHP 1.3,上面發布的鏈接指向文檔的2.x部分。 盡管類似,但這是CakePHP 1.3的文檔:

http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Models.html#find-neighbors

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM