У меня есть коллекция, и я хотел бы увеличить значения, если условие выполнено. Я хочу использовать map()
метод для итерации и возврата массива (или коллекции) с общим количеством. Пока у меня есть это:
$counts = [
'notChecked' => 0,
'published' => 0,
'total' => 0
];
$this->reviewPhotosRepository->getByHotelId($hotel_id)->map(function($photo) use (&$counts) {
$photo->checked ?: $counts['notChecked']++;
$photo->published ?: $counts['published']++;
$counts['total']++;
});
return $counts;
Это работает, но я думаю, что это выглядит довольно странно, и это не такой "распутный" способ. Есть ли другой вариант, чтобы он выглядел немного лучше?