mysql - Yii2 在一侧添加带有 "%"通配符的 LIKE 条件

标签 mysql yii2

我想在一侧添加带有 % 通配符的 like 条件,例如:

where name like 'value%'

我的代码:

Table::find()->filterWhere(['like', 'name' , $_GET['q'].'%' ])
        ->all();

但是查询结果是:

 where name like '%value\%%'

最佳答案

您需要将第四个操作数设置为 false 才能使用自定义 where like 条件:

Table::find()->where(['like', 'name', $_GET['q'] . '%', false]);

来自docs :

Sometimes, you may want to add the percentage characters to the matching value by yourself, you may supply a third operand false to do so. For example, ['like', 'name', '%tester', false] will generate name LIKE '%tester'.

关于mysql - Yii2 在一侧添加带有 "%"通配符的 LIKE 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39304614/

相关文章:

mysql - Sql 查询在连接表中搜索多个匹配项

javascript - 将 php 数组转换为 js 数组,并动态调整数组大小

php - Yii2 - 错误请求 (#400) |前端和后端cookie

mysql - 如何在 Fusion Tables 中编写 Where 查询

MySQL 按子选择结果排序

带 Codeigniter 的 PHP 队列系统。如何?

mysql - 是否可以将数据库中所有表的主键引用为一个表的外键?

mysql - nagios如何通过shell脚本监控远程主机?

javascript - 单击按钮创建表时获取值复选框

validation - Yii2 如果记录已存在于数据库中,则在模型中添加规则