php - Laravel、PHP 对象和数组操作
问题描述
所以我正在从数据库中检索一些记录,这些记录称为研究,对于该表中的每项研究,可能有一篇或多篇论文。所以现在我留下了$researches
具有以下输出的变量:
{
"2": {
"id": 2,
"name": "Science",
},
"4":{
"id": 7,
"name": "Biology",
}
"9":{
"id": 7,
"name": "Chemistry",
}
}
打字时,$researches[2]->papers
我得到了属于 ID 为 2 的研究的所有论文,所以我得到以下信息:
{
"papers": [
{
"id": 456,
"name": "XYZ",
"title": "title X",
},
{
"id": 470,
"name": "YUI",
"title": "title Y",
}
]
}
我怎样才能得到所有研究的所有论文,所以输出将是:
{
{
"id": 456,
"name": "XYZ",
"title": "title X",
},
{
"id": 470,
"name": "YUI",
"title": "title Y",
},
{
"id": 488,
"name": "RVF",
"title": "Title Z",
},
{
...
}
}
所以基本上,我想获取所有研究的所有论文并将它们存储在一个对象中。
解决方案
你可以像这样使用 Laravel 集合的pluck
方法:
$papers = collect($researches)->pluck('papers')->toArray();
有关更多信息,请参阅Laravel 文档。
推荐阅读
- dc.js - dc.js:如何交叉过滤复杂对象?
- xml - 我无法从我的 xml 中以 xsl 编码获取子循环中的根节点数据
- git - Sourcetree - 更改分支文件夹分隔符
- python - 如何返回单个单元格值而不是整行。Excel 到 Python Tkinter
- amazon-web-services - 更改实例 ssh 管理员凭据
- java - 编写一个方法来确定一个数字是否能被 11 整除并返回 true 或 false。以及从 11 到 110 生成 100 个随机整数
- python - 如何检查文件是否在指定时间之间创建?
- c - 有没有可以用特定编译器编译的函数?
- jenkins - 通过 Jenkins Shell 检查 TCP 连接
- docker - BC 17 在 Docker 环境中安装