【发布时间】:2019-02-08 13:11:13
【问题描述】:
我已将产品类别的 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}%");
});
但它需要带有逻辑“AND”的项目。我的意思是,如果我选择超过 1 个类别,则它希望产品同时具有两个选定类别,而不是我希望获得至少具有一个选定类别的所有产品
【问题讨论】:
标签: php mysql database laravel eloquent