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

Thứ tự Laravel theo mối quan hệ hasmany

Điều quan trọng là phải hiểu cách tải mong muốn của Laravel hoạt động. Nếu chúng tôi muốn tải ví dụ của bạn, Laravel trước tiên sẽ tìm nạp tất cả các chuỗi. Sau đó, nó tìm nạp tất cả các bình luận và thêm chúng vào đối tượng chủ đề. Vì các truy vấn riêng biệt được sử dụng nên không thể sắp xếp các chuỗi theo nhận xét.

Thay vào đó, bạn cần sử dụng một phép nối. Lưu ý rằng tôi đang đoán tên bảng / cột của bạn trong ví dụ này.

$threads = Thread::leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
    ->with('comments')
    ->orderBy('comment.created_at', 'desc')
    ->get();

Vì bạn đang tham gia, bạn có thể cần chỉ định các cột theo cách thủ công để chọn tên cột trong bảng của mình.

$threads = Thread::select('thread.*')->leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
    ->with('comments')
    ->orderBy('comment.created_at', 'desc')
    ->get();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để giải mã mật khẩu MySQL

  2. Lỗi kết nối PHP với cơ sở dữ liệu

  3. Làm thế nào để sử dụng Regexp trong MySQL Replace Commands?

  4. MySQL Workbench không hiển thị kết quả truy vấn

  5. Dữ liệu mùa xuân kết hợp với các thông số kỹ thuật