@WhatYouDoing

Почему возвращается пустой массив?

после цикла почему то пустой массив,но если задампить итерацию то результат есть,но за циклом $types пустой
$objects = Object::where(['status' => 1])->get()->sortBy('sort');
  foreach ($objects as $object) {
    $types = [];
    foreach (ApartmentType::all() as $type) {
      $apartmentsObject = $object->load(['porches.floors.apartments' => function($q) use ($object,$type, $types){
        array_push($types,['count'=>$q->where('type_id',$type->id)->count(),'value'=>$type->title]);
      }]);
    }
    var_dump($types); exit;

    // $object->apartments = $types;
  }
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
тут понятно разжевано
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
JhaoDa
@JhaoDa
LaravelRUS Team
Надо РНР изучать потому что. Передача переменной по ссылке, вот это вот всё...
Ответ написан
@Barney_Gubmle
Добрый день. А может массив лучше создать Перед foreach, а после по ненадобности unset'ить?
Ответ написан
romanko_vn
@romanko_vn
Я думаю причина в array_push

Вот так должно по идее работать
array_push($types, $q->where('type_id', $type->id)->count(), $type->title);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 09:44
20000 руб./за проект
29 мар. 2024, в 09:31
1000 руб./в час
29 мар. 2024, в 07:55
15000 руб./за проект