11

私は CakePHP の初心者でIN、find メソッドで SQL 演算子を使用したいのですが、words テーブルがあります。
私のコードは:

$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 演算子を使用)
ありがとうございます。

4

1 に答える 1

28

Cake にそれを処理させる必要があります - 文字列として使用するだけです (ただし、配列であることを確認してください)。

$arrayOfIds = [1, 5, ...];
$this->Word->find('all', array(
    'conditions' => array('Word.wordid' => $arrayOfIds)
));
于 2012-02-25T15:01:19.040 に答える