使用 include 机制,如果 include 参数返回时数组的话,如何去掉 data 层?
使用 include 机制,如果 include 参数返回时单个 item 的时候是可以使用 ArraySerializer 减少 data 层,但是如果参数返回 collection 的话,如何去掉 data 层?
路由:
//获取单个拼音和字列表
$api->get('pinyins/{pinyin}','PinyinsController@show')->name('api.pinyins.show');
控制器:
public function show(Pinyin $pinyin)
{
return $this->response->item($pinyin,new PinyinTransformer());
}
transformer:
public function includeZitis(Pinyin $pinyin)
{
return $this->collection($pinyin->zitis,new ZitiTransformer());
}
请求:
http://hanzi.test/api/pinyins/1?include=zitis
返回数据:
{
"id": 1,
"name": "a",
"zimu_id": 1,
"zitis": {
"data": [
{
"id": 1,
"zi": "阿",
"duyin": "ā",
"img": ""
},
{
"id": 2,
"zi": "啊",
"duyin": "ā",
"img": ""
},
{
"id": 3,
"zi": "腌",
"duyin": "ā",
"img": ""
},
{
"id": 4,
"zi": "吖",
"duyin": "ā",
"img": ""
},
{
"id": 5,
"zi": "锕",
"duyin": "ā",
"img": ""
},
{
"id": 6,
"zi": "錒",
"duyin": "ā",
"img": ""
},
{
"id": 7,
"zi": "B",
"duyin": "ā",
"img": "https://ii.911cha.com/zidian/song48/154/25969.png"
},
{
"id": 8,
"zi": "B",
"duyin": "ā",
"img": "https://ii.911cha.com/zidian/song48/135/20f1e.png"
},
{
"id": 9,
"zi": "B",
"duyin": "ā",
"img": "https://ii.911cha.com/zidian/song48/165/2825a.png"
},
{
"id": 10,
"zi": "嗄",
"duyin": "á",
"img": ""
},
{
"id": 11,
"zi": "呵",
"duyin": "a",
"img": ""
}
]
}
}
推荐文章: