cakePHP WHERE IN CLAUSE:数组到字符串的转换

问题描述 投票:0回答:1

您好,我想从表中获取以下数组范围内的所有数据: //从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) ... ^

我做错了什么?我知道如果我有一个 arry 作为

$authors = array('sss','rrr');
它会起作用,那么为什么在我的情况下不起作用呢? 预先感谢您。

php cakephp where-in
1个回答
2
投票

我相信你的

$authors
$articles
变量已经是数组了。

$this->Mymodel->find('all', array(
  'conditions' => array(
      'Mymodel.name' => array_merge($authors, $articles)
   ),
  'order'=>'Mymodel.id DESC')
);
© www.soinside.com 2019 - 2024. All rights reserved.