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

Nhận nhiều hàng hơn cho mỗi nhóm bằng cách sử dụng groupBy in Eloquent

Một trong những cách bạn có thể đạt được những gì bạn đang cố gắng làm là:

Deal:where('status', 'active')
    ->get()
    ->groupBy('type')
    ->map(function($deal) {
        return $deal->take(3);
    });

Tất nhiên, bạn cần kiểm tra xem truy vấn có trả về null hay không hoặc empty và xin lưu ý rằng truy vấn trả về tất cả hoạt động Deal (các) (quá trình lọc xảy ra trên Collection ) có thể không hiệu quả nếu có nhiều Deal (các)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận thời gian trung bình giữa các lần trong SQL

  2. Chế độ xem MySQL có luôn quét toàn bộ bảng không?

  3. Laravel:Làm cách nào để xóa các hàng khỏi nhiều bảng có cùng id chỉ với 1 truy vấn?

  4. CHÈN với CHỌN

  5. Lỗi 'Quan hệ không tồn tại' sau khi chuyển sang PostgreSQL