Php laravel中逗号分隔列中的精确单词匹配

Php laravel中逗号分隔列中的精确单词匹配,php,laravel,laravel-5.8,Php,Laravel,Laravel 5.8,我需要在Laravel中以逗号分隔的列显示精确的数字匹配 我的列有以下值 我尝试选择记录,其中通知列的确切数字为12,而不是120128 $getallrecords=Notifications::Where('notification_to','like',$userid.'%')->get(); 使用find_in_set搜索逗号分隔的值 编辑:作为@Jerodev关于防止sql注入的注释,您也可以这样使用它 ->whereRaw("FIND_IN_SET(?, notifi

我需要在Laravel中以逗号分隔的列显示精确的数字匹配

我的列有以下值

我尝试选择记录,其中通知列的确切数字为12,而不是120128

 $getallrecords=Notifications::Where('notification_to','like',$userid.'%')->get();
使用find_in_set搜索逗号分隔的值

编辑:作为@Jerodev关于防止sql注入的注释,您也可以这样使用它

->whereRaw("FIND_IN_SET(?, notifications.notification_to) > 0", [$userid])
返回值大于零,而不是非NULL

使用find_in_set搜索逗号分隔的值

编辑:作为@Jerodev关于防止sql注入的注释,您也可以这样使用它

->whereRaw("FIND_IN_SET(?, notifications.notification_to) > 0", [$userid])
返回值大于零,而不是非NULL


这应该可以找到精确的字符串匹配

$data = DB::table("notifications")
           ->select("*")
           ->whereRaw("find_in_set(".$userid.",'notification_to')")
           ->get();

这应该可以找到精确的字符串匹配

$data = DB::table("notifications")
           ->select("*")
           ->whereRaw("find_in_set(".$userid.",'notification_to')")
           ->get();

这是正确的答案,但是考虑使用绑定来防止SQL注入。编辑的答案,如果它仍然是错误的,请纠正。谢谢你@ Jerodevhave,你有解决方案吗?这是正确的答案,但是考虑使用绑定来防止SQL注入。编辑答案,如果它仍然是错误的,请纠正。谢谢@Jerodevh你有解决方案吗?