Entonces, después de jugar con merge()
método para las Collections
clase:
public static function ancestors($id)
{
$ancestors = Model::where('id', '=', $id)->get();
while ($ancestors->last()->parent_id !== null)
{
$parent = Model::where('id', '=', $ancestors->last()->parent_id)->get();
$ancestors = $ancestors->merge($parent);
}
return $ancestors;
}
Eso producirá lo que necesitaba, sin embargo, creo que puede ser más limpio, ¡así que siéntete libre de editarlo!