В Providers/EventServiceProvider.php
зарегистрируйте прослушиватель для события входа в систему:
protected $listen = [
'Illuminate\Auth\Events\Login' => [
'App\Listeners\LoginListener',
],
];
Теперь создайте фактический слушатель для события входа в систему, используя следующую команду:
php artisan make:listener LoginListener --event Illuminate\\Auth\\Events\\Login
Теперь внутри Listeners/LoginListener.php
код внутри public function handle(Login $event)
будет выполняться всякий раз, когда пользователь входит в ваше приложение. Вы можете получить идентификатор пользователя, который вошел в систему с помощью $event->user->id
, вы можете проверить это с помощью:
public function handle(Login $event)
{
dd($event->user->id);
}
Вы можете получить доступ к электронной почте, имени и т. Д. c из модели пользователя, используя событие:
$event->user->name
$event->user->email
В конечном итоге вы можете получить что-то вроде этого:
public function handle(Login $event)
{
$sql = Counts::where('client_id', $event->user->id)->get();
if (sizeof($sql) == 0) {
$sql = new Counts();
$sql->client_id = $event->user->id;
$sql->save();
}
}
Не забудьте включить Counts
модель в LoginListener.php
:
use App\Counts;