Mysql
 sql >> Database >  >> RDS >> Mysql

Generatore di query Laravel per risultati ricorsivi? Per esempio. id, genitore_id

Quindi, dopo aver armeggiato con merge() metodo per le 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;
}

Ciò produrrà ciò di cui avevo bisogno, tuttavia credo che possa essere più pulito, quindi sentiti libero di modificarlo!