Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将多个JSON对象合并到Laravel Eloquent集合中的单个JSON对象中_Php_Json_Eloquent_Laravel 5.2 - Fatal编程技术网

Php 将多个JSON对象合并到Laravel Eloquent集合中的单个JSON对象中

Php 将多个JSON对象合并到Laravel Eloquent集合中的单个JSON对象中,php,json,eloquent,laravel-5.2,Php,Json,Eloquent,Laravel 5.2,我在使用Laravel Eloquent集合将多个JSON对象合并为单个对象时遇到了问题 当我运行以下代码时: 返回项目::all() 我明白了: [ { "created_at": "2016-02-17 15:08:11", "description": "first description", "id": 1, "name": "John Doe", "updated_at": "2016-02-17

我在使用Laravel Eloquent集合将多个JSON对象合并为单个对象时遇到了问题

当我运行以下代码时:

返回项目::all()

我明白了:

[
    {
        "created_at": "2016-02-17 15:08:11",
        "description": "first description",
        "id": 1,
        "name": "John Doe",
        "updated_at": "2016-02-17 15:08:11"
    },
    {
        "created_at": "2016-02-17 15:08:31",
        "description": "second description",
        "id": 2,
        "name": "Jane Doe",
        "updated_at": "2016-02-17 15:08:31"
    }
]
但是,我尝试将多个JSON对象合并为一个单独的JSON对象,如下所示:

{
    "0": "John Doe",
    "1": "Jane Doe"
}

这让我发疯。是否有人可以帮助我如何实现这一点?钥匙在这里不重要。

使用
Collection::pluck()

如果你想让它成为一个对象,像这样投射它

(object) $projects->pluck('name')->toArray()

// { "0": "John Doe", "1": "Jane Doe" }
如果要返回JSON响应

$projects = (object) $projects->pluck('name')->toArray()
return response()->json($projects);

使用
Collection::pull()

如果你想让它成为一个对象,像这样投射它

(object) $projects->pluck('name')->toArray()

// { "0": "John Doe", "1": "Jane Doe" }
如果要返回JSON响应

$projects = (object) $projects->pluck('name')->toArray()
return response()->json($projects);

只需定义一个新数组并插入所需的任何值

假设您的JSON对象名为$data

    $result = array();
    foreach($data as $us){
      array_push($result, $us['name']);
    }
    $result = json_encode($result, JSON_FORCE_OBJECT);

只需定义一个新数组并插入所需的任何值

假设您的JSON对象名为$data

    $result = array();
    foreach($data as $us){
      array_push($result, $us['name']);
    }
    $result = json_encode($result, JSON_FORCE_OBJECT);


你希望输出是怎样的?我希望输出是JSON格式。你能给出plsI在上面已经做过的结构吗<代码>{“0”:“John Doe”,“1”:“Jane Doe”,“2”:“Joe Doe”}
你能解释一下这些名字是从哪里来的吗?你希望输出是怎样的?我希望输出是JSON格式。你能给出plsI在上面已经做过的结构吗<代码>{“0”:“John Doe”,“1”:“Jane Doe”,“2”:“Joe Doe”}您能解释一下这些名字是从哪里来的吗?返回的名字如下:
[“John Doe”,“Jane Doe”]
。但是,我需要这样的数据:
{“0”:“John Doe”,“1”:“Jane Doe”}
@MdMazedulIslamKhan,我编辑了我的答案。请检查此选项仍然无效,因为无法返回如下对象:
(object)$projects->pull('name')->toArray()
。它返回一个错误:
响应内容必须是实现uuToString(),“object”给定的字符串或对象。
return Response()->json((object)$projects->pulk('name')->toArray())
,@mdmazedulislamkhan返回如下名称:
[“John Doe”,“Jane Doe”]
。但是,我需要这样的数据:
{“0”:“John Doe”,“1”:“Jane Doe”}
@MdMazedulIslamKhan,我编辑了我的答案。请检查此选项仍然无效,因为无法返回如下对象:
(object)$projects->pull('name')->toArray()
。它返回一个错误:
响应内容必须是实现uuToString(),“object”给定的字符串或对象。
return Response()->json((object)$projects->pulk('name')->toArray()),@mdmazedulislamkhan这将仍然返回一个数组。但是,我想返回一个JSON,这仍然是返回一个数组。但是,我想返回一个JSON