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)