sql >> Databasteknik >  >> RDS >> Mysql

Laravel frågebyggare för rekursiva resultat? T.ex. id, parent_id

Så efter att ha pillat runt med merge() metod för Collections klass:

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;
}

Det kommer att producera det jag behövde, men jag tror att det kan bli renare, så redigera det gärna!



  1. Fråga MySQL med IN-klausul med PHP

  2. Efter att ha installerat senaste versionen av MySQL får jag felmeddelande:#1366 - Felaktigt heltalsvärde:'' för kolumn 'group_id' på rad 1

  3. Spring Boot CRUD Exempel med MySQL

  4. MySQL långsam fråga med join även om EXPLAIN visar en bra plan