2

我有一个简单的问题,我还没有找到答案。我需要使用 MySql 中的 IN 运算符进行查询。

我试过使用这个sintax:

$this->Client->find("all",array("conditions"=>
                              array("ClientRelCelula.rec_cel_codigo IN"=>$celula)

但是条件 WHERE 是这样的

 WHERE `ClientRelCelula`.`rec_cel_codigo` IN = ('2')

我发现了错误,当我撤消等于(=)时,查询工作正常。

谢谢!

4

1 回答 1

4

你不需要INin 条件。如果传递的数据是一个数组,Cake 会将其设为IN

例如:

$celula = 2;
$this->Client->find("all",array("conditions"=>
                          array("ClientRelCelula.rec_cel_codigo"=>$celula);

将产生:

WHERE `ClientRelCelula`.`rec_cel_codigo` = 2

和这个:

$celula = array(2, 3, 4);
$this->Client->find("all",array("conditions"=>
                          array("ClientRelCelula.rec_cel_codigo"=>$celula);

将产生:

WHERE `ClientRelCelula`.`rec_cel_codigo` IN (2,3,4)
于 2013-06-06T21:22:39.680 回答