Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да конвертирате DB таблица с връзка родител-син в многомерен масив

Ето моето решение за това:

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

Дизелът (id:5) ще бъде под поддръжката на превозното средство (id:4) поради първоначалната си поръчка. Можете да направите допълнително сортиране по име, но във вашия пример Capital (id:3) беше под Overheads (id:2).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Получаване на резултати от изявление

  2. MySqlParameter като TableName

  3. Mysql функция, връщаща стойност от заявка

  4. Как да „дехексирате“ число в MySQL

  5. Създаване на функционалност за търсене с Laravel 4