Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php yii2查询多个关键字_Php_Sql_Yii2 - Fatal编程技术网

Php yii2查询多个关键字

Php yii2查询多个关键字,php,sql,yii2,Php,Sql,Yii2,我对yii2中的查询有这个问题 当我使用这一行时,一切都很好: $query = Course::find()->where(['name' => ['sample2', 'sample3', 'sample4']])->all(); 问题是当我将关键字存储在变量中时,如: $name_list = "'sample2', 'sample3', 'sample4'"; $query = Course::find()->where(['name' => [$name

我对yii2中的查询有这个问题

当我使用这一行时,一切都很好:

$query = Course::find()->where(['name' => ['sample2', 'sample3', 'sample4']])->all();
问题是当我将关键字存储在变量中时,如:

$name_list = "'sample2', 'sample3', 'sample4'";
$query = Course::find()->where(['name' => [$name_list]])->all();
什么也不会发生


谢谢。

嗨,兄弟,我刚发现你的问题

首先,您在此处使用了一个数组:

$query = Course::find()->where(['name' => ['sample2', 'sample3', 'sample4']])->all();
那么您刚才在这里使用了字符串:

$name_list = "'sample2', 'sample3', 'sample4'";
$query = Course::find()->where(['name' => [$name_list]])->all();
如果您想尝试以下代码:

$name_list =array('sample2', 'sample3', 'sample4');
$query = Course::find()->where(['name' => $name_list])->all();

其中
不够聪明。它将根据传递给它的值的类型组装最终的sql语句。按照你的第一风格去做。有什么方法可以做到吗?谢谢。你必须更改源代码才能实现它。你想
在数组中查找或在集合中查找\u或类似的查询
?不清楚你在问什么。谢谢@Dee[$name_list]这行不应该放在括号内,因为它已经是一个数组了。非常感谢。