为foreach()提供了无效的参数

时间:2019-07-10 08:15:32

标签: php laravel-5

为什么我遇到此错误。我不明白。

我的方法 ................

$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 :(得分:-1)

问题可能出在Admin :: where('permission',8)-> get();返回除数组以外的其他内容,可能为null。 在$ admins = Admin :: where('permission',8)-> get();

之后,您可以通过以下内容来捕获该问题
if(false === is_array($admins) {
    $admins = [];
}

同样,您的刀片服务器模板有错误,您的阵列看起来像:

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

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

您只能这样做:

$arr[$name] = $data;
相关问题