sql >> Databasteknik >  >> RDS >> Mysql

Hur man konverterar DB-tabell med överordnad son-relation till flerdimensionell array

Här är min lösning för det:

function cost_centres_format($items,$parent_id,$array=array()) {
    foreach($items as $item) {
        if($item->parent_id == $parent_id) {
            $array[] = $item;
            if($item->internal_purchase_order_cost_centre_id>0) {
                $array = cost_centres_format($items,$item->internal_purchase_order_cost_centre_id,$array);
            }
        }
    }
    return $array;
}
$array = cost_centres_format($items,0);

Diesel (id:5) kommer att ligga under fordonsunderhåll (id:4) på ​​grund av sin ursprungliga beställning. Du kan göra en extra sortering efter namn men i ditt exempel låg Kapital (id:3) under Overheads (id:2).



  1. COPY kommando:kopiera endast specifika kolumner från csv

  2. PostgreSQL:42883 Operatören finns inte:tidsstämpel utan tidszon =text

  3. Få sista posten för varje månad i MySQL....?

  4. Oracle och Left Outer Join