У меня есть коллекция, в которой я возвращаю надписи.Каждая надпись имеет свой статус (Премиум, Нет подписок, Приписан).
Чтобы получить надписи по каждому состоянию, я фильтрую основную коллекцию, а затем одну, используя слияние.
Мой кодa следует:
$inscriptions = Inscription::get();
$premium = $inscriptions->where('state', '=', 'Premium')->sortByDesc('created_at');
$no_suscription = $inscriptions->where('state', '=', 'No suscription')->sortByDesc('created_at');
$subscribed = $inscriptions->where('state', '=', 'Subscribe')->sortByDesc('created_at');
return $premium->merge($no_suscription->merge($subscribed));
Можно ли упростить код, выполнив весь процесс непосредственно в коллекции $inscriptions
, чтобы вам не приходилось разбивать его и затем присоединять к нему?
PS: Я не могу использовать базу данных для группировки по штатам, она должна быть в коллекции.
Спасибо