Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách chuyển đổi bảng DB với quan hệ con trai mẹ sang mảng đa chiều

Đây là giải pháp của tôi cho nó:

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

Dầu diesel (id:5) sẽ nằm dưới Bảo dưỡng xe (id:4) vì thứ tự ban đầu của nó. Bạn có thể thực hiện sắp xếp bổ sung theo tên nhưng trong ví dụ của bạn Chữ viết hoa (id:3) nằm dưới Chi phí chung (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. Tìm mức lương tối đa và tối đa thứ hai cho bảng nhân viên MySQL

  2. Chọn các nhóm bản ghi liên tiếp với một thuộc tính chung?

  3. Chọn bản ghi giữa hai ngày

  4. Lặp lại cho đến khi mật mã là duy nhất

  5. Ví dụ về TIME () - MySQL