我有收藏:
\n\n$categories = $post->categories;\nRun Code Online (Sandbox Code Playgroud)\n\n我明白了:
\n\n#items: array:1 [\xe2\x96\xbc\n 0 => Category {#999 \xe2\x96\xb6}\n 1 => Category {#999 \xe2\x96\xb6}\n]\nRun Code Online (Sandbox Code Playgroud)\n\n我需要从类别中获取id。
我试试这个:
\n\n$categories = array_column('id', $post->categories);\nRun Code Online (Sandbox Code Playgroud)\n\n但集合array_column不起作用。我怎样才能做到这一点?
Moz*_*mil 12
已经有一些很好的答案了。
另一种选择是:
$category_ids = $post->categories->pluck('id');
Run Code Online (Sandbox Code Playgroud)
首先将您的集合转换为数组。您可以使用eloquent 的toArray() ,如下所示。
$categories = $post->categories()->get()->toArray();
Run Code Online (Sandbox Code Playgroud)
和这个
$categories = array_column('id', $post->categories);
Run Code Online (Sandbox Code Playgroud)
应该
$categories = array_column($post->categories, 'id');
Run Code Online (Sandbox Code Playgroud)
您的新代码应如下所示:
$categories = $post->categories()->get()->toArray();
$categories = array_column($categories, 'id');
Run Code Online (Sandbox Code Playgroud)
参考:数组列
| 归档时间: |
|
| 查看次数: |
8516 次 |
| 最近记录: |