Моя цель - получить все «элементы» пользователя и отобразить их в моем представлении, сгруппированных по их «статусу». Существует 4 возможных статуса, каждый со своим <div>
на странице, содержащей информацию о товарах. Через некоторое ковыряться я считаю, что нужно использовать метод groupBy()
как так:Как использовать groupBy() в Eloquent ORM для группировки коллекции
$items = Item::ownedBy(Auth::id())->groupBy('status')->get();
Это, кажется, делать какие-то группировки, но когда я итерацию по коллекции я получаю максимум 4 результатов, один для каждый статус. Это действительно не решает мою проблему, поскольку мне нужно отображать все элементы пользователя для каждого состояния, а не только одного. Мне здесь, должно быть, что-то не хватает, я бы очень хотел избежать запроса для каждого статуса и отображения их таким образом. Я полагаю, что я мог бы фильтровать коллекцию по статусу и создавать 4 новые коллекции, но разве это не должно делать groupBy()
?
SQL 'GROUP BY status 'объединяет все строки с одним и тем же« статусом »в одну строку, поэтому это не то, что вы хотите. – ceejayoz
Спасибо @ceejayoz У меня было чувство, что я, возможно, иду по неправильному пути. Может быть, лучше будет фильтровать на 4 разных коллекций/массивов? –