簡體   English   中英

如何將硬編碼用戶ID更改為已認證的用戶?

[英]How do I change the hard code user id into the authenticated user?

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

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

我希望數字3是登錄的經過身份驗證的用戶。如何重寫此代碼?

您可以使用Auth門面來檢索經過身份驗證的用戶。

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

記住張貼您嘗試過的東西。 這使我們更願意為您解決問題,而不僅僅是為您編寫代碼。 我建議您閱讀本節:“ 如何提問”是一個很好的資源,當我第一次來到該網站時,它幫助我提出了更好的問題!

您可以在沒有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();

您可以通過以下方式獲取身份驗證用戶標識:

使用auth()輔助函數

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

使用Auth Facade

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

或者您可以通過Request獲得

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM