У меня есть таблица пользователей, базовая структура которой выглядит следующим образом:
id, uname, parent_id
1 john null
2 smith 1
3 mickey 1
4 lara 2
5 tom 3
6 jessica 4
7 baneet 4
, а отношение в пользовательской модели определяется следующим образом:
public function children()
{
return $this->hasMany('App\Models\User', 'parent_id');
}
public function parents()
{
return $this->belongsTo('App\Models\User', 'parent_id');
}
Итак, я пытаюсь сделать следующее:: найти всех пользователей, чьи дети не имеют детей.В терминах Lehman: найдите все семьи, у которых есть дети, но у их детей нет детей.
Я знаю, как это сделать, когда мне просто нужно запросить непосредственные отношения, как
User::whereHas('children',function($query){
// $query;
})->get();
Но не уверен, как это сделать во вложенных отношениях.
Есть ли способ добиться этого?