我正在使用一个非常简单的API使用laravel。用户有许多任务,任务属于用户。我的路线文件如下:Laravel有很多关系返回不是集合的大量数据吗?
<?php
Route::resource('users', 'UsersController');
Route::get('users/{user_id}/tasks', '[email protected]_tasks');
Route::resource('tasks', 'TasksController');
我希望第二条路线获取与该特定用户相关的所有任务。很简单。我只是在我的用户模型中添加的关系如下:
public function tasks(){
return $this->hasMany('Task');
}
而在我UsersController
的show_tasks
方法如下:
public function show_tasks($id){
if(!$user = $this->user->find($id)){
return Acme::response('error', 'Resource not found.', [], 404);
}
$tasks = $user->tasks();
dd($tasks);
return Acme::response('success', [], $tasks, 200);
}
我已经把dd的方法,因为响应返回空阵列,我想看看$tasks
变量的第一手牌是什么。我想这一定是一个集合对象,但是当我跑这在我的邮差REST客户端,它在大型数据溢出绞死由于我假设,下面的截图:
如果有人好奇Acme::response
方法,我也包括该代码:
public static function response($status = [], $messages = [], $data = [], $httpStatusCode){
return Response::json([
'status' => $status,
'messages' => $messages,
'data' => $data,
], $httpStatusCode);
}
为什么关系不起作用?我已经这几个小时,仍然无法弄清楚为什么!我猜测我可能在某个地方犯了一个非常愚蠢的错误,但无论如何也无法完成。
哈哈,我知道我在做一件傻事!谢谢!只要它能让我接受你的答案。 – Rohan 2014-11-06 11:24:00
无论如何,你能解释一下我使用任务()而不是任务时看到的无限数据流吗? – Rohan 2014-11-06 11:25:53
@Rhan我添加了更多细节 – 2014-11-06 12:02:59