数组ID中的LARAVEL查询字符串

时间:2019-02-08 13:11:14

标签: php mysql database laravel eloquent

我已将产品类别的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}%");
    });

但是它接受带有逻辑“与”的项目。我的意思是,如果我选择了多个类别,则期望该产品同时具有两个选定类别,而我希望获得所有具有至少一个选定类别的产品

1 个答案:

答案 0 :(得分:0)

在此处使用

例如-

$category = [1,2,3,4,5];
$query->WhereIn('categories', $category); // use this