【发布时间】:2018-07-04 14:59:42
【问题描述】:
有3张桌子:
- 膳食
- 标签
- meal_tag
我想从 url 查询中获取所有包含所有标签的餐点。
例如:.../api/query?tags=1,2,3
在这个例子中,我想获取所有有
tag1 AND tag2 AND tag3
,但我的查询返回的饭菜有
tag1 OR tag2 OR tag3
这是我的查询:
$query = Meal::query();
...
if ($request->has('tags')) {
$inputTags = $request->query('tags');
$tags = explode(',', $inputTags);
$query = $query->whereHas('tags', function($q) use ($tags) {
$q->whereIn('tags.id', $tags);
});
}
【问题讨论】:
标签: laravel-5 eloquent where-clause