如何在yii2中使用如下所示的SQL查询?
select * from Skill_Names where SkillName REGEXP 'PHP|MYSQL'
我不需要像( SkillName Like %PHP% or SkillName Like %MYSQL% )
这样的东西,因为我需要使用REGEXP。
答案 0 :(得分:8)
最简单的是直接查询:
Yii::$app->db->createCommand("select * from Skill_Names where SkillName REGEXP 'PHP|MYSQL'")->queryAll();
如果您有 ActiveRecord
表的Skill_Names
课程,您还可以使用Expression
:
<击> SkillNames::find()->where(['SkillName' => new \yii\db\Expression("REGEXP 'PHP|MYSQL'"])->all();
击>
编辑:关于你的评论:你可以简单地将where部分用作字符串,它将按原样返回:
SkillNames::find()->where("SkillName REGEXP 'PHP|MYSQL'")->all();
编辑2:您自己的运营商格式解决方案:
SkillNames::find()->where(['REGEXP', 'SkillName','PHP|MYSQL'])->all();