Цепочка отношений на ту же модель

Как подтянуть цепочку соотношений с помощью 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;
            }
        }

Ответы (0 шт):