Цепочка отношений на ту же модель
Как подтянуть цепочку соотношений с помощью Laravel. У меня есть таблица с 2 колонками в первой id донора, а во второй id полученной записи. Таким образом последняя может так же стать донором и так далее. Как подтянуть все id доноров для конечной записи. 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) && !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;
}
}