Php Laravel 5.2:根据登录的用户id获取记录

Php Laravel 5.2:根据登录的用户id获取记录,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我正在控制器中获取记录: $tasks = Task::where('user_id', '=', Auth::user()->id); return view('todo',compact('tasks')); 但它返回null 并且Auth::user()->id返回2,这是正常的 我遗漏了什么吗?您需要实际检索记录。您拥有的是\illumb\Database\elount\Builder的实例,而不是与查询关联的实际记录 要告诉Elount获取数据,您需要使用get() 比如:

我正在控制器中获取记录:

$tasks = Task::where('user_id', '=', Auth::user()->id);

return view('todo',compact('tasks'));
但它返回null

并且
Auth::user()->id
返回
2
,这是正常的


我遗漏了什么吗?

您需要实际检索记录。您拥有的是
\illumb\Database\elount\Builder
的实例,而不是与查询关联的实际记录

要告诉Elount获取数据,您需要使用
get()

比如:

$tasks=Task::where('user_id','=',Auth::user()->id)->get()

作为补充说明,您可以将查询简化为:

$tasks=Task::where('user_id',Auth::user()->id)->get()

此外,在您的
用户
模型上,您可以执行以下操作:

public function tasks()
{
    return $this->hasMany(Task::class) // make sure you use the full namespace here or use at the top of User.php
}
然后你可以简单地做:

$tasks = auth()->user()->tasks;
正如所解释的,这是一种雄辩的关系