首页 > 解决方案 > 登录 Laravel 5.2 时插入另一个表

问题描述

我在 Laravel 5.2 中使用 auth 默认登录,但我希望在登录时更新或在每个用户登录时插入另一个表。

我想在用户登录时插入:

$sql = Counts::where('client_id', Auth::user()->id)->get();
if (sizeof($sql) == 0) {
    $sql = new Counts();
    $sql->client_id = Auth::user()->id;
    $sql->save();
}

Auth/Authcontroller.php没有登录方法...

有人能帮助我吗?

标签: laravellaravel-5

解决方案


在您的AuthController, 覆盖postLogin方法中,AuthenticatesAndRegistersUsers如下所示:

class AuthController extends Controller
{
    public function postLogin(Request $request)
    {
        $this->validate($request, [
            'email' => 'required|email', 'password' => 'required',
        ]);

        $credentials = $request->only('email', 'password');

        if ($this->auth->attempt($credentials, $request->has('remember')))
        {
            $counts = Counts::where('client_id', Auth::user()->id)->get();
            if ($counts->isEmpty()) {
                $counts = new Counts();
                $counts->client_id = Auth::user()->id;
                $counts->save();
            }

            return redirect()->intended($this->redirectPath());
        }

        return [
            'success' => false,
            'error' => 'Invalid credentials',
            'description' => 'Authentication failure'
        ];
    }
}

只需将此功能复制粘贴postLogin到您的底部,AuthController它应该可以工作。


推荐阅读