[英]how to change the value of a column in laravel on logout
我有一列稱為active_user的列,以顯示用戶何時在線(1)。 當我登錄用戶時,將active_user列設置為1,但是當我注銷用戶並選中active_user時,它仍顯示為online(1)。 我想要的是,當我單擊注銷按鈕時,aactive_user列將更改為offline(0)並將其更新到數據庫。 我的登錄信息如下。
public function postSignIn(Request $request) {
$this->validate($request, [
'email' => 'required',
'password' => 'required'
]);
if(Auth::attempt(['email' => $request['email'], 'password' => $request['password']])) {
$user=User::whereRaw('email=?',[Input::get('email')])->first();
//this is where i set the active_user to 1
$user->active_user=1;
$user->save();
if($user!=null){
switch($user->role_id){
case 1:
if($user->status==0){
session()->flash('flash_message_error', ' Your Account has been deactivated. Contact the administrator');
return Redirect::to('admin/login');
}
return redirect()->route("index");
break;
然后下面是我的注銷功能
public function LogOut($id) {
$user = User::find($id);
$user->active_user=1;
$user->save();
Auth::logout();
return redirect('admin/login');
}
在注銷功能中,我想將active_user更改回offline(0),但我不斷收到錯誤消息“ App \\ Http \\ Controllers \\ AdminController :: LogOut()缺少參數1”
現在,您的路線登出期望傳遞一個id
屬性。 這對我來說似乎是錯誤的,因為您要將邏輯應用於經過身份驗證的用戶,因此不必將其ID傳遞給注銷。 例如,如果您登錄的用戶的ID為1,要注銷您的代碼,他們將需要轉到以下網址:
http://myapp.app/logout/1
而是使用Auth實現來修改用戶。
// Remove requirement for ID as a parameter
public function LogOut() {
$user = Auth::user();
$user->active_user=1;
$user->save();
Auth::logout();
return redirect('admin/login');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.