Php laravel查询,其中以逗号分隔的字符串表示

Php laravel查询,其中以逗号分隔的字符串表示,php,mysql,laravel,laravel-5,Php,Mysql,Laravel,Laravel 5,使用Laravel检查值是否位于以逗号分隔的字符串存储的数组中,例如mysql表1,14,15,20,25中存储的字符串 因此,我尝试在开始和结束处添加逗号,以便进行适当的搜索 $query = Profile::whereRaw("',' + cf_profile.sub_category_id + ',' LIKE '%,$sub_category->sub_category_id,%'"); 有人能告诉我哪里出了问题,因为它没有返回任何结果。您可以使用FIND\u IN\u SET

使用Laravel检查值是否位于以逗号分隔的字符串存储的数组中,例如mysql表1,14,15,20,25中存储的字符串

因此,我尝试在开始和结束处添加逗号,以便进行适当的搜索

$query = Profile::whereRaw("',' + cf_profile.sub_category_id + ',' LIKE '%,$sub_category->sub_category_id,%'");

有人能告诉我哪里出了问题,因为它没有返回任何结果。

您可以使用
FIND\u IN\u SET()


不幸的是,该函数仅在存储了确切的数字时才返回,而不是在逗号分隔的字符串中返回。i、 e.它将在mysql表中返回一个2的sub_category_id,但如果它是1,15,2,则不会返回(将跳过此操作)。我需要它,这样它就能找到所有事件,还有什么建议吗?@sprintcar78a它工作正常。看看这个。如果你仍然没有得到想要的o/p,最好创建一个小提琴。忽略我有$haystack,$Pineder而不是$Pineder,$haystack!!回到原来删除的评论谢谢!:D
WHERE FIND_IN_SET($sub_category, sub_category_id) > 0