为 foreach() 提供的参数无效 laravel5.8

Invalid argument supplied for foreach() laravel5.8

我想向用户展示他们的等级是 adminoperator

 @foreach(\App\User::whereLevel('admin')->get() || \App\User::whereLevel('operator')->get() as $user)

但是我得到这个错误

Invalid argument supplied for foreach() (View: C:\xampp\htdocs\new\shopping\resources\views\Admin\levelAdmin\create.blade.php)

我不知道您是否正在使用 (\App\User::whereLevel('admin')->get() || \App\User::whereLevel('operator')->get(),因为其中一个查询可以为空,或者您是否想获取 level 匹配 admin 或 [=15 的用户=].

对于第一种情况,尝试这样的事情:

@if(!empty(\App\User::whereLevel('admin')->get()))
    @foreach(\App\User::whereLevel('admin')->get() as $user)
        //
    @endforeach
@else
    @foreach(\App\User::whereLevel('operator')->get()  as $user)
        //
    @endforeach
@endif

如果你想获得 level 匹配 operatoradmin 的用户,你应该像这样用 somenthin 修改你的查询:

@foreach(\App\User::where('level', 'admin')->orWhere('level', 'operator')->get() as $user)
    //
@endforeach