这是关键字
$keywords = ['html','css','js','php','yii2']
这是来自模型的 Yii 查询过滤器
$query->orFilterWhere(["LIKE","skill_name",$val]);
它给出了以下结果
WHERE `skill_name` LIKE '%html%'
AND `skill_name` LIKE '%css%'
AND `skill_name` LIKE '%js%'
AND `skill_name` LIKE '%php%'
AND `skill_name` LIKE '%yii2%'
我要在
之后的位置进行此查询WHERE `skill_name` LIKE '%html%'
OR `skill_name` LIKE '%css%'
OR `skill_name` LIKE '%js%'
OR `skill_name` LIKE '%php%'
OR `skill_name` LIKE '%yii2%'
答案 0 :(得分:3)
在这种情况下,您需要使用or like
:
$query->andFilterWhere(['OR LIKE', 'skill_name', $val]);
请参见https://www.yiiframework.com/doc/api/2.0/yii-db-queryinterface#where()-detail
or
中的 orFilterWhere()
定义了如何将新条件连接到现有条件。因此,如果您有:
$query->orFilterWhere('some condition 1')->orFilterWhere('some condition 2');
它将生成类似:
WHERE some condition 1 OR some condition 2
介于OR
之间的条件来自orFilterWhere()
。