ThinkPHP5 数组条件下使用 FIND_IN_SET 函数的多种实现方式
在 ThinkPHP5 中,可以使用以下几种方式实现在数组条件中使用 FIND_IN_SET 函数:
- 使用 whereRaw 方法
$ids = '1,2,3';
$data = Db::name('table')
->whereRaw('FIND_IN_SET(id,'$ids')')
->select();
- 使用 exp 方法
$ids = '1,2,3';
$data = Db::name('table')
->whereExp('FIND_IN_SET(id,'$ids')')
->select();
- 使用闭包函数
$ids = '1,2,3';
$data = Db::name('table')
->where(function($query) use ($ids){
$query->whereExp('FIND_IN_SET(id,'$ids')');
})
->select();
注意:以上三种方式中,$ids 为字符串类型,多个 id 之间用逗号隔开。如果 $ids 是数组类型,则可以使用 implode 函数将其转换为字符串类型。
原文地址: https://www.cveoy.top/t/topic/oeMF 著作权归作者所有。请勿转载和采集!