我已将产品类别的ID保存为用逗号分隔的字符串 (例如'2,3,4,6'),并且我有一个由用户选择的类别数组(例如[1,3,4,5]),我想从数据库中仅雄辩地使用这些产品选择了类别。在此示例中,将包含ID为1或3或4或5的产品。
我尝试了许多变体,但是我认为我慢慢地讲到重点,但是有一个问题。 我这样做:
Products::where(function ($query) use ($filters) {
$categories = implode(',', $filters['categories']); // gives me string with separated ids by comma same as in DB
$query->where('categories', 'like', "%{$categories}%");
});
但是它接受带有逻辑“与”的项目。我的意思是,如果我选择了多个类别,则期望该产品同时具有两个选定类别,而我希望获得所有具有至少一个选定类别的产品
答案 0 :(得分:0)
在此处使用
例如-
$category = [1,2,3,4,5];
$query->WhereIn('categories', $category); // use this