Как выстроить цепочку соотношений с помощью Laravel

#laravel #laravel-8

Вопрос:

Как построить цепочку соотношений с помощью Laravel. У меня есть таблица с 2 столбцами в первом идентификаторе донора и во втором идентификаторе результирующей записи. Таким образом, последний также может стать донором и так далее. Как вывести все идентификаторы доноров для окончательной записи. https://i.imgur.com/ducWcck.gif Например, если из него была запись 239345, то было создано 239351, из которого, в свою очередь, 239352. Как отобразить 239345, 239351?

Я не могу придумать ничего лучше, чем петля, что-то вроде этого.

 $ids = [];  $child = CombinedOrder::query()->where('to_order_id', $current)->first();  $lastId = $child->from_order_id;  array_push($ids, $child->to_order_id);  array_push($ids, $lastId);   while (!is_null($lastId) amp;amp; !is_null($child)) {  $lastObj = CombinedOrder::query()->where('to_order_id', $lastId)->first();  $lastId = is_null($lastObj) ? null : $lastObj->from_order_id;  if (!is_null($lastId)) {  $ids[] = $lastId;  }  }