gpt4 book ai didi

mysql - 多对多关系中的 Eloquent (Laravel)查询

转载 作者:行者123 更新时间:2023-11-29 22:00:38 26 4
gpt4 key购买 nike

我有多对多关系(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

关于查询应该是什么样子有什么想法吗?我一直在努力获取具有两个标签的项目的总和

最佳答案

假设您的 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();

关于mysql - 多对多关系中的 Eloquent (Laravel)查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32695123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com