仅当侦听器handle()方法中的last_login_at = null时,才更新last_login_at字段。

时间:2016-12-08 06:41:07

标签: php laravel

在我的LogSuccessfulLogin监听器中,我正在更新用户成功登录时的last_login_at。但是现在我想要last_login_at只有在last_login_at为空或空时才更新。我是否使用以下代码进行更新?

if($event->user->where('last_login_at','NULL'))
{
    $event->user->last_login_at = date('Y-m-d H:i:s');
    $event->user->save();
}

LogSuccessfulLogin Listner

namespace App\Listeners;

use Illuminate\Auth\Events\Login;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

class LogSuccessfulLogin
{

    public function __construct()
    {
        //
    }

    public function handle(Login $event)
    {
        $event->user->last_login_at = date('Y-m-d H:i:s');
        $event->user->save();
    }
}

1 个答案:

答案 0 :(得分:1)

也许empty()可以帮到你:

if (empty($event->user->last_login_at)) {
    $event->user->last_login_at = date('Y-m-d H:i:s');
    $event->user->save();
}