У меня есть отношение многие ко многим в моей модели User, и я пытаюсь собрать все дочерние и внуковые элементы пользователя с помощью следующей рекурсивной функции
public function hasreceivers()
{
return $this->belongsToMany('App\User', 'reporting_to', 'acc_reporting_to_id', 'acc_receiving_from_id')
->where('account_status', 'A');
}
public function hasreceivers_rec()
{
return $this->hasreceivers()->with(['hasreceivers_rec']);
}
но когда я запрашиваю отношение
$oUser = \App\User::with('hasreceivers_rec')->where('account_id', $acc_id)->first();
Практически я хотел бы получить все идентификаторы пользователей, которые являются дочерними для запрашиваемого пользователя.
Я получаю тайм-аут сервера.
Как правильно построить этот тип красноречивых запросов?