我有很多关系(Eloquent Laravel),我想按标签过滤项目。
Table_Item Table_Item_Tag Table_Tag
ID Name ID Item_id Tag_id Id Name
1 Item A 1 1 1 1 Tag A
2 Item B 2 1 2 2 Tag B
3 2 1
过滤结果应该是这样的:`
Filter: Name:Tag A&B : Sum of Item 1
Name:Tag A : Sum of Item 1
有关查询应该如何的任何想法?我一直在努力获得有两个标签的项目总和
答案 0 :(得分:0)
假设您的Eloquent关系设置正确,您将需要这些内容:
$tags = ['Tag A', 'Tag B']; // Or get from input or wherever
Item::whereHas('tags', function ($q) use ($tags) {
foreach ($tags as $tag) {
$q = $q->where('name', $tag);
}
})->get();