让我们说我有一个[{"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()
答案 0 :(得分:2)
要使用该代码来实现所需的功能,可以使用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');
}
答案 1 :(得分:1)
您可以先收集它,然后再使用pluck
。
我假设您有以下数据
$schedules = [
["id" => 21],
["id" => 22]
];
return collect($schedules)->pluck('id')->toArray();
答案 2 :(得分:0)
使用array_column仅获取值。
$values = array_column($schedules->pluck('id')->toArray(),'id');