我有一个简单的问题,我没有找到答案。我需要使用MySql中的IN运算符进行查询。
我试图使用这个sintax:
$this->Client->find("all",array("conditions"=>
array("ClientRelCelula.rec_cel_codigo IN"=>$celula)
但条件WHERE是如此
WHERE `ClientRelCelula`.`rec_cel_codigo` IN = ('2')
我发现了错误,当我撤回等于(=)时,查询工作正常。
谢谢!
答案 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)