Mysql
 sql >> Base de données >  >> RDS >> Mysql

Générateur de requêtes Laravel pour des résultats récursifs ? Par exemple. identifiant, identifiant_parent

Donc, après avoir joué avec le merge() méthode pour les 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;
}

Cela produira ce dont j'avais besoin, mais je pense que cela peut être plus propre, alors n'hésitez pas à le modifier !