我有收藏集
$categories = $post->categories;
我明白了:
#items: array:1 [▼
0 => Category {#999 ▶}
1 => Category {#999 ▶}
]
我需要从类别id
中获取。
我尝试:
$categories = array_column('id', $post->categories);
但是集合array_column
无法正常工作。我该怎么做?
答案 0 :(得分:1)
如果要从集合中获取任何属性,请使用map
高阶消息。
示例。
$category_ids = $post->categories->map->id;
就是这样。
答案 1 :(得分:0)
首先将您的集合转换为数组。您可以如下使用雄辩的toArray()。
$categories = $post->categories()->get()->toArray();
还有这个
$categories = array_column('id', $post->categories);
应该是
$categories = array_column($post->categories, 'id');
您的新代码应如下所示:
$categories = $post->categories()->get()->toArray();
$categories = array_column($categories, 'id');
参考:array_column
答案 2 :(得分:0)
已经有了一些好的答案。
替代方法是:
$category_ids = $post->categories->pluck('id');