Указан неверный аргумент для foreach () - PullRequest
0 голосов
/ 10 июля 2019

почему я получаю эту ошибку.Я не могу понять.

Мой метод ................

$admins = Admin::where('permission' , 8)
                        ->get();

 $arr = [];


    foreach ($admins as $admin) {

        $date1 = now();

        $date    =  $date1->format('Y-m-d');

        $data = count(Tradelicence::where('admin_id' , $admin['id'])
                            ->where('created_at' , 'like', "%$date%")
                            ->get());

        $name = $admin['name'];

        array_push($arr, [ $name => $data]);
    }

    $arrays = json_encode($arr);

В блейд-файле ...............

@foreach($arrays as $key => $value)
          <tr>

            <td>{{ $key }}</td>
            <td>{{ $value }</td>

          </tr>
@endforeach

1 Ответ

0 голосов
/ 10 июля 2019

Проблема может заключаться в том, что Admin :: where ('разрешение', 8) -> get (); возвращает что-то еще, кроме массива, возможно, null. Вы можете поймать это с помощью следующего после $ admins = Admin ::, где ('разрешение', 8) -> get ();

if(false === is_array($admins) {
    $admins = [];
}

Также у вас есть ошибка для вашего шаблона блейда, ваш массив выглядит так:

[
     ['key' => 'value']
]

Вместо array_push ($ arr, [$ name => $ data]);

Вы должны сделать только:

$arr[$name] = $data;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...