cakePHP WHERE IN CLAUSE:Array to String转换

时间:2013-05-23 20:57:45

标签: cakephp where-in

您好我想从下面那些数组范围内的表中获取所有数据: //从AJAX发送到PHP的数据

$authors = $_POST['authors'];
$articles= $_POST['articles'];

以下cakePHP查询给出了以下错误:

查询:

$this->Mymodel->find('all', array('conditions' => array('Mymodel.name' => array($authors ,$articles)),'order'=>'Mymodel.id DESC'));

错误:

Notice (8): Array to string conversion [CORE/Cake/Model/Datasource/DboSource.php, line 2591]
Database Error

Error: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "," LINE 1: ...Mymodel" WHERE "Mymodel"."name" IN (Array, Array) ... ^

我做错了什么?我知道,如果我有$authors = array('sss','rrr');,那么它会起作用,为什么它不适合我? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

我相信您的$authors$articles变量已经是数组。

$this->Mymodel->find('all', array(
  'conditions' => array(
      'Mymodel.name' => array_merge($authors, $articles)
   ),
  'order'=>'Mymodel.id DESC')
);