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

时间:2019-06-18 19:21:32

标签: php laravel

我从station_id循环中获取数据以从计划中获取数据。

$stations_id = Station::pluck('id'); // Output [1,2,3,4]
$schedules = [];
foreach ($stations_id as $station_id) {
     echo $schedules = Schedule::select('id')
                        ->where('station_id', $station_id)
                        ->latest()
                        ->first();                
     }

$schedules输出的回显为:

  

{“ id”:16} {“ id”:17} {“ id”:15}

但是问题出在这里,我试图遍历$schedules来从另一个名为Queue的表中获取数据,我的意思是我想获取我们正在其中循环的每个调度的最新队列。

所以我做到了:

$queues = [];
foreach ($schedules as $schedule) {       
    echo $queues = Queue::withTrashed()
                 ->latest()
                 ->where('schedule_id', $schedule);               
}

但它显示了此错误:

  

为foreach()提供的参数无效

我不知道我在哪里错过。

1 个答案:

答案 0 :(得分:2)

完成第一个循环时,变量$images = \App\Image::where('image_approved', '=' ,"feature_approved") ->join('users', 'users.id', '=', 'images.user_id') ->join('profiles', 'profiles.user_id', '=', 'images.user_id') ->get(); 不是数组。在第一个循环之后,您希望$schedules是一个数组

$schedules