我有一個管理員可以註冊自己的網站。目前只有一個管理員所以下面的功能,適用於傳遞值:Laravel傳遞值作爲管理員和普通用戶
public function getAllVideos()
{
$videos = Video::all();
$price = DB::table('donor')->sum('amount_donated');
$goal = auth()->user()->goal;
return view('adminmanagement', compact('videos', 'price', 'goal'));
}
public function changeGoal(Request $data)
{
auth()->user()->update([
'goal' => $data->input('newGoal')
]);
return redirect('/home');
}
如果我只是需要把它傳遞給一個視圖,其中普通用戶可以看到, 做我做以下?
public function getAllVideos()
{
$videos = Video::all();
$price = DB::table('donor')->sum('amount_donated');
User::first()->goal;
return view('adminmanagement', compact('videos', 'price', 'goal'));
}
public function changeGoal(Request $data)
{
auth()->user()->update([
'goal' => $data->input('newGoal')
]);
return redirect('/normalview');
}
但如果有一個以上的註冊用戶(管理員)在系統中的內容。因爲一次只有一個管理員登錄,它還會沒事嗎?還是代碼需要更改?
編輯: 我只爲管理員註冊(這是「用戶」),普通用戶(在我的情況是「供體」)沒有任何需要註冊/登錄。所以我的主要目的是能夠將這個$目標值傳遞給兩個不同的頁面。一個訪問管理員(假設一個名爲jon的已註冊和已登錄的管理員)以及其他普通用戶可訪問的訪問權限。所以我目前的代碼'User :: first() - >目標;'應該做的伎倆,對吧?但是,如果讓我們說,另一個名爲jim的管理員註冊並登錄,會好嗎?所以現在登錄的管理員是jim,而不是jon 它仍然會在管理員的視圖頁中顯示$目標值(由jim訪問)和普通用戶的查看頁面(由正常/隨機的人訪問)?
您可以查看我剛剛添加的編輯部分,並讓我知道您的答案是否與它匹配。謝謝 – AJth
U可以有多個管理員,但只需要一個管理員用戶存儲目標值並使用它來顯示。因此,使用'User :: find(1) - > goal;'更安全,並用您想要存儲目標的管理員用戶標識替換1。 – Sandeesh
說實話,正確的實現是爲目標提供一個單獨的表並使用它來存儲或獲取,而不是與用戶存儲目標值。 – Sandeesh