Php 如何使用';其中';在laravel中具有逗号分隔值的列上
我正在使用带有laravel框架的php。我想从包含用户id的表中获取行。这里的问题是,用户id是整数值,列(作者)包含多个逗号分隔的整数值。下面是一个例子Php 如何使用';其中';在laravel中具有逗号分隔值的列上,php,mysql,regex,laravel,Php,Mysql,Regex,Laravel,我正在使用带有laravel框架的php。我想从包含用户id的表中获取行。这里的问题是,用户id是整数值,列(作者)包含多个逗号分隔的整数值。下面是一个例子 DB::table('stories')->where('author','4')->get(); 作者列有值:行1:2,4,5 |行2:1,3,14 |行3:4,5 我会得到第一排和第三排。所以,请帮我找到正确的行。您可以使用whereRaw如 DB::table('stories')->whereRaw("find_
DB::table('stories')->where('author','4')->get();
作者列有值:行1:2,4,5 |行2:1,3,14 |行3:4,5
我会得到第一排和第三排。所以,请帮我找到正确的行。您可以使用
whereRaw
如
DB::table('stories')->whereRaw("find_in_set('4',author)")->get();
首先使用将
字符串
转换为数组
$row = "2,4,5";
$idsArr = explode(',',$row);
DB::table('stories')->whereIn('author',$idsArr)->get();
如果你能简单地使用
find_in_set
@uchicha,为什么要将字符串转换成数组呢?你是对的。但是不同的人有不同的思维,不同的思维有不同的逻辑方式……)