php 如何将硬代码用户ID更改为经过身份验证的用户?

mspsb9vt  于 11个月前  发布在  PHP
关注(0)|答案(3)|浏览(97)

在我的控制器中,我有以下代码

$assignents =Assign::whereHas('users', function ($q) {
        $q->where('user_id', 3); 
    })->get();

字符串
我想让数字3成为登录的经过身份验证的用户。我如何重写这段代码?

zte4gxcn

zte4gxcn1#

您可以使用Auth facade来检索经过身份验证的用户。

$assignents = Assign::whereHas('users', function ($q) {
    $q->where('user_id', Auth::user()->id); 
})->get();

字符串

hlswsv35

hlswsv352#

你可以在没有Auth Facade的情况下做到这一点

$assignents = Assign::whereHas('users', function ($q) {
    $q->where('user_id', auth()->user()->id); 
})->get();

字符串

$assignents = Assign::whereHas('users', function ($q) {
    $q->where('user_id', auth()->id()); 
})->get();

zrfyljdw

zrfyljdw3#

您可以通过以下方式获取认证用户ID:
使用auth()辅助函数

auth()->user()->id or auth()->id()

字符串
使用Auth外观

Auth::user()->id, Auth::id()


也可以通过Request得到

public function index(Request $request)
{
    $request->user()->id;
}

相关问题