我有一个集合:
$categories = $post->categories;
我理解为:“我得到了这个:”
#items: array:1 [▼
0 => Category {#999 ▶}
1 => Category {#999 ▶}
]
我需要获取分类id
。
我尝试了这个:
$categories = array_column('id', $post->categories);
但是使用集合时,
array_column
不起作用。我该怎么做?已经有一些很好的答案了。
另一个选择是:
$category_ids = $post->categories->pluck('id');
如果您想从集合中获取任何属性,请使用map
高阶消息。
例如:
$category_ids = $post->categories->map->id;
首先将您的集合转换为数组。您可以使用Eloquent的toArray(),如下所示。
$categories = $post->categories()->get()->toArray();
并且这个
$categories = array_column('id', $post->categories);
$categories = array_column($post->categories, 'id');
Your new code should look like:
$categories = $post->categories()->get()->toArray();
$categories = array_column($categories, 'id');
$categories = array_column($post->categories,'id');
?你把参数放错了。 - A l w a y s S u n n y