yii2 case find_in_set when 1 else 0 end
时间: 2024-02-01 12:13:59 浏览: 128
yii2_fec_admin:yii2 ie jui管理员
在 Yii2 中,您可以使用 ActiveQuery::where() 方法来构建 SQL 查询。要使用类似于 MySQL 中的 FIND_IN_SET 函数,您可以编写以下代码:
```php
use yii\db\Expression;
$query = YourModel::find()
->where(new Expression('FIND_IN_SET(:value, yourColumn) = 1', [':value' => $value]));
```
这里,我们使用 `yii\db\Expression` 类来编写原始 SQL 表达式。`FIND_IN_SET` 函数返回一个数字,表示在给定字符串列表中是否找到了指定值。如果找到,则返回该值在列表中的位置,否则返回 0。
我们使用 `= 1` 来测试函数结果是否为真,因为非零数字在 PHP 中被认为是 true,而零被认为是 false。
请注意,您需要将 `$value` 替换为要查找的值,并将 `yourColumn` 替换为您要查询的列名。
阅读全文