sql >> Database >  >> RDS >> Mysql

Hoe DB-tabel met ouder-zoonrelatie naar multidimensionale array te converteren?

Hier is mijn oplossing ervoor:

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) zal lager zijn dan Voertuigonderhoud (id:4) vanwege de oorspronkelijke bestelling. U kunt een extra sortering op naam doen, maar in uw voorbeeld was Capital (id:3) lager dan Overheads (id:2).



  1. Een parameterquery maken in Access

  2. SQL-beperking om 2 clumns niet gelijk aan elkaar te maken

  3. Lees-/schrijflatentie bewaken

  4. MySQL:duplicaten vinden in meerdere velden