如何在cakephp上使用运算符IN sql

时间:2013-06-06 20:39:44

标签: mysql cakephp-2.0

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

我试图使用这个sintax:

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

但条件WHERE是如此

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

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

谢谢!

1 个答案:

答案 0 :(得分:4)

条件中不需要IN。如果传递的数据是数组,那么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)