gpt4 book ai didi

php - Laravel:在多对多关系中获取不相关的项目

转载 作者:行者123 更新时间:2023-12-04 01:25:02 25 4
gpt4 key购买 nike

是否可以在 Laravel 中以多对多关系获取与特定实例无关的所有项目?

例子:

我有两个型号,UserPet .它们是多对多的关系,因为一个用户可以拥有多个宠物,而一个宠物可以属于多个用户。

但我想要一个特定用户没有的宠物列表。

这怎么可能?

编辑
以上只是一个例子,与我当前的任务无关。向用户和宠物解释更简单。但要指定:

PETS TABLE:
ID TYPE
1 Dog
2 Cat
3 Rabit
4 Horse
5 Rat
6 Bat
7 Bird

USERS TABLE:
ID NAME
1 Martin
2 Peter
3 Viggo

PET_USER TABLE:
ID PET USER
1 1 1
2 3 1
3 5 1

然后马丁有一只狗、一只兔子和一只老鼠。

但我想要一份他没有的宠物 list :
猫、马、 bat 和鸟

最佳答案

你可以试试这个(你的问题对我来说听起来有点困惑):

$pets = Pet::with('users')->whereDoesntHave('users', function($query) use ($id) {
$query->where('users.id', $id);
})->get();

另外,也可以试试这个(如果你愿意):
$pets = Pet::with('users')->whereHas('users', function($query) use ($id) {
$query->where('users.id', '!=', $id);
})->get();

关于php - Laravel:在多对多关系中获取不相关的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35528945/

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