как использовать оператор SQL IN в методе find для ORK - PullRequest
10 голосов
/ 25 февраля 2012

я новичок в cakephp, и я хочу использовать оператор SQL IN в методе find, у меня есть таблица слов.
мой код:

$this->Word->find('Word.wordid in (83,82)');

, и этот код создает этот запрос:

SELECT `Userword`.`userwordid`, `Userword`.`userid`, `Userword`.`wordid`, 
`Userword`.`date`, `Userword`.`levelid` FROM `userwords` AS `Userword` WHERE 
`Userword`.`wordid` = (82) 

но мне нужен этот запрос

SELECT `Userword`.`userwordid`, `Userword`.`userid`, `Userword`.`wordid`, 
Userword`.`date`, `Userword`.`levelid` FROM `userwords` AS `Userword` WHERE 
`Userword`.`wordid` IN (83,82)

как можно получить как этот запрос (используя оператор IN)
спасибо.

1 Ответ

25 голосов
/ 25 февраля 2012

Вы должны позволить торту позаботиться об этом - просто используйте его как строку (но убедитесь, что это массив):

$arrayOfIds = [1, 5, ...];
$this->Word->find('all', array(
    'conditions' => array('Word.wordid' => $arrayOfIds)
));
...