如何将自定义属性添加到 Laravel 分页 json 响应

赛德巴克

我有以下简单的索引方法:

public function index()
    {
       // dd(Poll::paginate(2));
      return response()->json(Poll::paginate(2),200);
    }

该方法的输出类似于以下 json 对象:

{
"current_page": 1,
"data": [
{
"id": 1,
"title": "I suppose?' said Alice. 'Why, you don't know.",
"created_at": "2018-09-14 16:42:11",
"updated_at": "2018-09-14 16:42:11"
},
{
"id": 2,
"title": "Alice; but she knew that it seemed quite.",
"created_at": "2018-09-14 16:42:11",
"updated_at": "2018-09-14 16:42:11"
}
],
"first_page_url": "http://127.0.0.1:8000/polls?page=1",
"from": 1,
"last_page": 6,
"last_page_url": "http://127.0.0.1:8000/polls?page=6",
"next_page_url": "http://127.0.0.1:8000/polls?page=2",
"path": "http://127.0.0.1:8000/polls",
"per_page": 2,
"prev_page_url": null,
"to": 2,
"total": 11
}

我想在属性后添加另一个数组属性,"total: 11"例如:

,
"anotherData" : [
   "userId": 1,
   "userName": "john10",
   "message": "This is a message"
]

我试图了解如何response()->json()工作,所以它可以提取一些数据LengthAwarePaginator对象,它的输出Poll::paginate(2)这一资源,但我无法理解如何做它能够得到一个数组LengthAwarePaginator保存在JSON生成的密钥目的?!

赛德巴克

上面json()考虑的资源来看,该方法采用一个数组,我猜想,如果参数不是数组,它会尝试将其转换为数组,特别是如果它是像 一样的对象LengthAwarePaginator,因此它可能会使用toArray()方法。

我曾尝试更换return response()->json(Poll::paginate(2),200)return response()->json(Poll::paginate(2)->toArray,200)的话,我已经得到了相同的输出。因此,我决定将我的 index 方法的代码替换为如下所示:

public function index()
    {
        //dd(Poll::paginate(2)->toArray());
        $output = Poll::paginate(2)->toArray();
        $output['userData'] = ['userId' => \Auth::user()->id, 'userEmail' => \Auth::user()->email];
        return response()->json($output,200);
    }

结果输出是:

...
"path": "http://127.0.0.1:8000/polls",
"per_page": 2,
"prev_page_url": null,
"to": 2,
"total": 11,
"userData": {
"userId": 1,
"userEmail": "[email protected]"
}
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel:为 Json 响应添加分页

来自分类Dev

Laravel 4.1 API分页-创建自定义JSON响应

来自分类Dev

Laravel 4.1 API分页-创建自定义JSON响应

来自分类Dev

the_content过滤器可将自定义字段添加到JSON响应

来自分类Dev

JSON分页响应javascript

来自分类Dev

Laravel 5-如何将自定义消息添加到验证?

来自分类Dev

如何将自定义事件添加到Laravel模型

来自分类Dev

如何将自定义字段添加到Json结果-ASP.NET MVC

来自分类Dev

Laravel ORM-自定义GroupBy每月JSON响应

来自分类Dev

如何从Laravel Blade中的json数据创建分页链接

来自分类Dev

如何显示Laravel分页

来自分类Dev

Laravel:如何从 API 获取 json 响应

来自分类Dev

将自定义 CSS 类添加到 Fluid 小部件分页

来自分类Dev

Laravel 5响应JSON

来自分类Dev

Laravel JSON响应者

来自分类Dev

Laravel JSON响应者

来自分类Dev

Laravel 5响应JSON

来自分类Dev

如何在laravel中自定义分页?

来自分类Dev

如何自定义json响应?

来自分类Dev

如何对AWS CLI响应进行分页?

来自分类Dev

将自定义标头添加到.Net中的所有Swagger响应中

来自分类Dev

Angular:将自定义HTTP响应标头添加到dev`ng serve`

来自分类Dev

将自定义标头添加到.Net中的所有Swagger响应中

来自分类Dev

Laravel 5.2分页:如何减少栏中的链接(无自定义分页器)?

来自分类Dev

使用 ajax 和 json 进行 Laravel 分页

来自分类Dev

Django REST:JSON 响应中没有分页块 (PageNumberPagination)

来自分类Dev

如何将包添加到自定义 Laravel 包中?

来自分类Dev

如何在Laravel 5中将自定义配置文件添加到app / config?

来自分类Dev

Laravel:转换JSON响应数据