【发布时间】:2022-01-21 23:03:14
【问题描述】:
我有这样的餐桌爱好:
-id
-name
-parent_id
还有我的模特
public function sub_hobbies(){
return $this->hasMany(Hobbies::class, 'parent_id');
}
public function parent_hobbies(){
return $this->belongsTo(Hobbies::class, 'parent_id');
}
public function allsub(){
return $this->sub_hobbies()->with('allsub');
}
public function allparent(){
return $this->parent_hobbies()->with('allparent');
}
我想要的是获得不是既定爱好的孩子或孙子的所有爱好
例如我有这个列表:
-hobbies 1
-hobbies 11
-hobbies 12
-hobbies 121
-hobbies 122
-hobbies 13
-hobbies 2
-hobbies 21
-hobbies 22
-hobbies 221
-hobbies 222
-hobbies 23
-hobbies 3
-hobbies 31
-hobbies 32
-hobbies 321
-hobbies 322
-hobbies 33
如果我给出爱好 1 的 id,我想要除爱好 11、12、121、122、13 之外的所有爱好
【问题讨论】:
-
Hobby::doesntHave('parent_hobbies')->orDoesntHave('parent_hobbies.parent_hobbies')->... -
我有无限的数据树,但我只给出了一部分数据,所以不值得这样使用
-
它只是检索第一个层次结构,但我想检索除所选爱好以及他的孩子和孙子之外的所有内容
标签: laravel nested relationship