msc*_*egg 2 php laravel laravel-5 laravel-5.2
是否有可能在Laravel中以多对多的关系获得与特定实例无关的所有项目?
例:
我有两个型号,User和Pet.他们有很多关系,因为用户可以拥有许多宠物,但宠物可以属于更多用户.
但我想要一份特定用户没有的宠物清单.
怎么可能?
编辑以上只是一个例子,因此与我当前的任务无关.用户和宠物解释起来更简单.但要说明:
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
Run Code Online (Sandbox Code Playgroud)
然后马丁有一只狗,一只兔子和一只老鼠.
但我想要一份他没有的宠物清单:猫,马,蝙蝠和鸟
你可以试试这个(你的问题对我来说听起来有些混乱):
$pets = Pet::with('users')->whereDoesntHave('users', function($query) use ($id) {
$query->where('user', $id);
})->get();
Run Code Online (Sandbox Code Playgroud)
另外,尝试这个(如果你想):
$pets = Pet::with('users')->whereHas('users', function($query) use ($id) {
$query->where('user', '!=', $id);
})->get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2258 次 |
| 最近记录: |