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)