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

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

我不想要 ( SkillName Like %PHP% or SkillName Like %MYSQL% ) 之类的东西,因为我需要使用 REGEXP。

最佳答案

最简单的是直接查询:

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:您自己的运算符(operator)格式解决方案:
SkillNames::find()->where(['REGEXP', 'SkillName','PHP|MYSQL'])->all();

关于php - MySQL 查询中的 Yii2 REGEXP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32066476/

10-12 17:17