点击关注 / 取消关注 request 的 dd 打印结果并没有 Auth:id 及被关注 id 请问如何提交给数据库呢
//关注逻辑
public function store(User $user)
{
dd(\request()->all());
$this->authorize('follow',$user);
if ( ! Auth::user()->isFollowing($user->id)){
Auth::user()->follow($user->id);
}
return redirect()->back();
}
关注动作
array:1 [▼
"_token" => "Vh6xWuWu3QacgQNjBcR0r3S0XsYP3hJEaYgMKQ9v"
]
//取消关注
public function destroy(User $user)
{
dd(\request()->all());
$this->authorize('follow',$user);
if ( Auth::user()->isFollowing($user->id)){
Auth::user()->unfollow($user->id);
}
return redirect()->back();
}
取消动作dd打印
array:2 [▼
"_token" => "Vh6xWuWu3QacgQNjBcR0r3S0XsYP3hJEaYgMKQ9v"
"_method" => "DELETE"
]
关于 LearnKu
了解下路由隐式绑定:路由《Laravel 6 中文文档》
方法中传入的$user就已有user_id,Auth::id()是当前登录用户的id
Auth::user()->follow($user->id); 看这一行啊,follow方法是在user模型里的
被关注ID和Auth类有什么关系?被关注的ID是在路由中绑定的,Auth类调用的是当前授权登录的用户
@我建议:如果想了解程序怎么跑的,ID 怎么传递的,想研究透,可以开启
Xdebug跟踪一下,就知道了!这里
\request()->all()未打印出是因为真实的http请求是post请求, laravel这里默认只打印出了post请求的参数