2011-07-25 24 views
8

我想根據ID的數組列表從數據庫中取出多行。CakePHP如何通過ID的數組獲得多行

在其他一些框架中似乎有像「WHERE_IN」,但不在這裏。

有人可以告訴我該怎麼做嗎?

我想知道如何通過find()或read()(或任何其他cakephp函數)來做到這一點,而不是手動構建查詢,因爲我希望所有數據都能被轉義和安全。

謝謝

+0

謝謝你的問題,我正在準備我自己之前,我用Google搜索這一些代碼怪物:d。 –

回答

25

根據"Complex Find Functions"(第三個例子)這應該工作:

$this->YourModel->find('all', array(
    'conditions' => array(
     "YourModel.id" => array(1, 2, 3, 4) 
    ) 
)); 
+1

謝謝你,完美,我不知道那很容易。 – mgPePe

+0

做同樣但id與數組不同的? – Martin

+0

@Martin:謝謝你的提問。我不確定你的意思 - 你是否想選擇ID不在數組中的記錄,比如'NOT IN'運算符?或者你想選擇使用另一個字段比'id' – vstm