如何从laravel中的数组中提取值?

假设我有这个[{"id":21},{"id":22}]数组来自这个:


$schedules = [];

    foreach ($routes as $route) {

        $schedules[] =Schedule::select('id')

                        ->whereIn('route_id', $route)

                        ->latest()

                        ->first();  

    }

所以,我想像这样从中提取价值[21,22],所以我这样做了:


$values = $schedules->pluck('id')->toArray();

这显示此错误


调用数组上的成员函数 pluck()


慕妹3146593
浏览 422回答 3
3回答

手掌心

要使用您拥有的代码实现您的目标,您可以使用array_map:$values = array_map(function ($item) {    return $item->id;}, $schedules);或者,您可以简单地id通过使用->first()->id或获取初始值value('id'):foreach ($routes as $route) {    $schedules[] =Schedule::select('id')                    ->whereIn('route_id', $route)                    ->latest()                    ->value('id');  }

LEATH

您可以先收集它,然后使用pluck.我假设你有以下数据$schedules = [    ["id" => 21],    ["id" => 22]];return collect($schedules)->pluck('id')->toArray();

婷婷同学_

使用array_column 仅获取值。$values = array_column($schedules->pluck('id')->toArray(),'id');
打开App,查看更多内容
随时随地看视频慕课网APP