如何在注销时更改laravel中列的值

时间:2016-05-23 12:17:23

标签: php laravel-5.2

我有一个名为active_user的列,用于显示用户何时在线(1)。当我在i中记录用户时,将active_user列设置为1,但是当我将用户注销并检查active_user时,它仍然显示在线(1)。我想要的是,当我单击注销按钮时,aactive_user列将更改为offline(0)并将其更新到数据库。我的登录信息如下。

['attribute' => 'final_cost',
 'format' => 'raw',
 'value' => function ($data) use ($staticArray)
 {
     return $staticArray[$data->id];      
 },
],

然后是我的退出功能

 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; 

在注销功能中我想将active_user更改回离线(0)但是我一直收到错误“缺少参数1 for App \ Http \ Controllers \ AdminController :: LogOut()”

1 个答案:

答案 0 :(得分:0)

您的路线注销现在期望传递给它git commit -m"short message" -m"This message is usually a bit more elaborate" 属性。这对我来说似乎是错误的,因为它是您想要应用此逻辑的经过身份验证的用户,必须将其ID传递给注销是不必要的。例如,如果您的登录用户的ID为1,要使用您的代码注销,他们需要转到以下网址:

id

相反,请使用Auth实现来修改用户。

http://myapp.app/logout/1