php - 从 Eloquent 查询更改对象数组中的键

标签 php arrays database laravel object

我有一个来自 Eloquent 查询的对象数组:

[
    {
        "id": 1,
        "user_id": 1,
        "name": null,
        "link": "storage/images/foo.png"       
    },
    {
        "id": 2,
        "user_id": 1,
        "name": null,
        "link": "storage/images/foo.png"
    },
    {..}
]

在 PHP 中,将数组中每个对象中的“link”键重命名为“url”的最有效方法是什么?保持相同的元素顺序将是一个好处。

我希望实现这一目标:

[
    {
        "id": 1,
        "user_id": 1,
        "name": null,
        "url": "storage/images/foo.png"       
    },
    {
        "id": 2,
        "user_id": 1,
        "name": null,
        "url": "storage/images/foo.png"
    },
    {..}
]

最佳答案

因为我的评论似乎是正确的方式,而且肯定比循环遍历一个已经生成的数组更快,我将它作为答案发布在这里。

猜测你正在使用 eloquent 来获取你的数据

User::all() 

或类似的东西,尝试按如下方式将其设为选择查询:

User::select('id, user_id, link as url')->get(); 

为你解决这个问题

关于php - 从 Eloquent 查询更改对象数组中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51612454/

相关文章:

javascript - [Vue警告] :Property or method is not defined on the instance but referenced during render

php - 绑定(bind)变量的数量与 token 的数量不匹配

PHP 工作但给出 sql SYNTAX 错误

PHP 停用词表

php - 从 PHP 函数转到 HTML 页面

javascript - indexOf 无法在 Google Apps 脚本中工作

arrays - 修改解析的 CSV 文件输出,很快吗?

sql - PSQL 在同一行上按多个条件分组

mysql - 返回 0 行而不是其他 SQL

database - 什么是严格的时间表?