Intereting Posts
Отобразить список элементов, сгруппированных по годам и месяцам в TYPO3 Fluid Объединение нескольких временных интервалов пользователей Twitter в один запрос .ajax () не будет завершен до тех пор, пока предыдущий вызов .ajax () не будет завершен? Проблемы с округлением целочисленного числа в PHP Как рассчитать PageViews сайта, используя статистику Alexa (формула?) Требуется расширение Mcrypt PHP. В Laravel С Ubuntu 14 Вытяните API-интерфейс JSON из URL-адреса и отображения в PHP Laravel Разрешение пользователя на доступ к определенным страницам? Каковы преимущества / недостатки монолитного кодирования PHP по сравнению с небольшими специализированными скриптами php? Обнаружение HTTPS-запросов в PHP Как работать с десятичными знаками высокой точности в PHP Как я могу хранить и извлекать изображения из базы данных MySQL с помощью PHP? Пример использования AX в PHP OpenID Угловая петля не обновляется Ошибка Symfony2 HWIOauthBundle с ответом

Как добавить значение в массив внутри каждого метода объекта Collection

Я использую Laravel5.4.

Я хочу добавить значения в массив внутри каждого метода объекта Collection.

Это должно быть легко и просто, но это не сработает.

Ниже приведен код упрощенной версии моего рабочего кода.

пожалуйста помогите!

# Шаблон A

class ReportController extends Controller { public function daily(ReportRequest $request) { $collection = VisitRecord::whereDate('visited_at', '=', Carbon::today())->get(); $bounceZoneList = []; $collection->groupBy("bounce_zone")->each(function($group, $key) { echo "this line is called."; //add value to the array! $bounceZoneList[] = 1; }); //but it doesn't have any value! var_dump($bounceZoneList); // array(0) { } } } 

Образец B

 class ReportController extends Controller { public function daily(ReportRequest $request) { $collection = VisitRecord::whereDate('visited_at', '=', Carbon::today())->get(); $bounceZoneList = []; $collection->groupBy("bounce_zone")->each(function($group, $key) use ($bounceZoneList) { echo "this line is called."; //add value to the array! $bounceZoneList[] = 1; }); //but it doesn't have any value! var_dump($bounceZoneList); // array(0) { } } } 

Как так?

И как мне это исправить?

Related of "Как добавить значение в массив внутри каждого метода объекта Collection"

В пределах вашего * каждого * закрытия ключи сначала возвращаются, поэтому это function($key,$group)
Группа $group возвращается в виде коллекции, поэтому вы можете циклически перебирать ее с помощью цикла
Пытаться :

 $group->each(function($item){ array_push($bounceZoneList,$item->**the_entry_you_want_to_be_pushed_to_the_array**); } 
 class ReportController extends Controller { public function daily(ReportRequest $request) { $collection = VisitRecord::whereDate('visited_at', '=', Carbon::today())->get(); $bounceZoneList = []; $collection->groupBy("bounce_zone")->each(function($group, $key) use (&bounceZoneList) { echo "this line is called."; $bounceZoneList[] = 1; }); var_dump($bounceZoneList); // array(0) { } } } 

Использование NG (bounceZoneList)

OK – используйте (& bounceZoneList)