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

Trình tạo truy vấn Laravel cho kết quả đệ quy? Ví dụ. id, parent_id

Vì vậy, sau khi tìm hiểu xung quanh với merge() phương thức cho Collections lớp:

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

Điều đó sẽ tạo ra những gì tôi cần, tuy nhiên, tôi tin rằng nó có thể gọn gàng hơn, vì vậy vui lòng chỉnh sửa nó!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng phương pháp trình tạo truy vấn Laravel whereIn () với truy vấn phụ

  2. PHP Apache gặp sự cố trong khi thực hiện QUY TRÌNH ĐƯỢC LƯU TRỮ

  3. Có gì sai với SQL của tôi ở đây? # 1089 - Khóa tiền tố không chính xác

  4. Các mô hình Django có thể sử dụng các hàm MySQL không?

  5. Làm thế nào để thực hiện Mô hình kế thừa trong Cơ sở dữ liệu quan hệ?