【发布时间】:2018-06-10 19:33:25
【问题描述】:
我正在尝试获取集合的 json 输出,但我得到的只是数据 []。
我有 2 张桌子。
表:播放器 || 编号 | 名字
和
表:飞行时间 ||编号 |车辆 |总时间 | player_id(外键)
我正在尝试将特定玩家的所有飞行时间条目作为一个集合。
我的 FlightTime 资源:
class FlightTime extends JsonResource
{
public function toArray($request)
{
return [
'vehicle' => $this->vehicle,
'total-time' => $this->totaltime,
];
}
}
还有我的 FlightTimeCollection:
class FlightTimeCollection extends ResourceCollection
{
public function toArray($request)
{
return [
'data' => $this->collection,
'test' => 'did this work',
];
}
}
我的api路由设置为
Route::get('/v1/player/{name}/flights', 'PlayerController@showFlightbyName');
我的控制器中有这个:
public function showFlightbyName($name)
{
$pid = Player::select('id')->where('name', $name)->first();
return new FlightTimeCollection(FlightTime::where('player_id', $pid)->get());
}
现在当我访问 localhost/api/v1/player/Angel/flights 时,没有抛出错误。但我得到的只是这个。
{
"data": [],
"test": "did this work"
}
我只是想不通这里发生了什么以及我做错了什么。
【问题讨论】:
标签: laravel api collections resources