Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Construtor de consultas Laravel para resultados recursivos? Por exemplo. id, parent_id


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!