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;
正如所解释的,这是一种雄辩的关系