MySQL查询中的Yii2 REGEXP

时间:2015-08-18 07:44:36

标签: php mysql yii2

如何在yii2中使用如下所示的SQL查询?

select * from Skill_Names where SkillName REGEXP 'PHP|MYSQL'

我不需要像( SkillName Like %PHP% or SkillName Like %MYSQL% )这样的东西,因为我需要使用REGEXP。

1 个答案:

答案 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();