作者gonjay (gon)
看板PHP
标题[请益] laravel API resource
时间Sun Mar 25 00:14:44 2018
目前我建立了一个 resource 来转换 model 的输出资料格式,在 controller 中有两个方法的返回值会使用到这个 resource,但是我想让不同方法使用这个 resource 时,可以返回不同的资料,比如 index 方法只返回 id, st
程式码大约如下(有稍微修改)
Resource :
class testResource extends Resource
{
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name
];
}
}
Controller 中的方法:
use testResource;
public function index()
{
{
{
$test = Test::paginate(10);
$this->response(testResource::collection($test);
}
public function store()
{
$test = Test::find(1):
$this->response(new testResource($test));
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.12.160.253
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1521908086.A.F18.html
1F:推 DongFeng: paginate跟find的查询结果就已经是不一样的物件了,有03/25 00:22
2F:→ DongFeng: 什麽一定要使用同一个method的理由吗?03/25 00:22
※ 编辑: gonjay (39.8.36.111), 03/25/2018 08:09
您好,是因为目前我建立了两个 resource 来分别定义返回的资料格式,但是想说如果
您好,是因为目前我建立了两个 resource 来分别定义返回的资料格式,但是想说如果
之後建立更多方法的话,返回的资料格式又都不同的话,那就会建立好几个 resource …,因此想说可不可以只使用一个 resource 就能返回不同的资料格式,谢谢~
※ 编辑: gonjay (39.8.36.111), 03/25/2018 08:25:13
※ 编辑: gonjay (39.8.36.111), 03/25/2018 08:26:12
※ 编辑: gonjay (59.127.195.148), 03/25/2018 11:31:18
3F:推 ChenCH1986: Transformer03/25 21:08
5F:→ DongFeng: /README.md03/25 23:42
6F:→ DongFeng: 我觉得上面这个套件应该可以达到你想要的效果03/25 23:43
7F:→ DongFeng: 看一下 Alternate Transformations 这个章节03/25 23:43
谢谢楼上各位!
※ 编辑: gonjay (27.242.64.87), 03/27/2018 20:19:13