簡體   English   中英

Cakephp分頁或條件

[英]Cakephp pagination with or condition

我希望能夠在控制器中定義分頁變量時將“或”條件放入foreach循環中,如下所示:

foreach($p as $ps){
$this->paginate = array(
                'or' => array(
                    array('Petition.commune_id LIKE' => $commune_ids['Commune']['id'] . ","),

                    ),Recipe
                'limit' => 10
            );

}

我知道上面的說法是錯誤的,但出於示例目的,我已經編譯了代碼。 有什么辦法可以做到這一點嗎?

我需要循環,因為我希望能夠使用另一個表的ID(已通過find方法將其作為數組讀取),並將其用於當前表(即Petitions表)中的循環。 $ commune_ids ['Commune'] ['id']是我需要遍歷as或value的內容。 或者,查詢將類似於:

SELECT * FROM petitions WHERE commune_id = 971 OR commune_id = 123 OR commune_id = 321 OR commune_id = 432 

但是我當然可以在find函數中執行此操作,但是我想對結果進行分頁...

您想要的是查詢:

SELECT * FROM petitions WHERE commune_id IN (971, 123, ...)

在Cake中,這是:

'conditions' => array(
    'Petition.commune_id' => array(971, 123, ...)
)

因此,您創建了一個ID數組,可以將其放入條件中。 做完了

$communeIds = /* assemble array somehow */;

$this->paginate = array(
    'conditions' => array(
        'Petition.commune_id' => $communeIds
    ),
    'limit' => 10
);

暫無
暫無

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

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