Então, depois de brincar com o
merge()
método para as Collections
classe: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;
}
Isso produzirá o que eu precisava, mas acredito que pode ser mais limpo, então sinta-se à vontade para editá-lo!