Merhaba,
Online kullanıcıları gösterebilmek için session'ı database'e çevirip mevcut sessions tablosuna bir de user_id alanını ekledim.
Login ve logout işlemleri için OnlineEventHandler oluşturdum ve methodum da bu şekilde.
public function handle(Online $online)
{
if(Auth::check()){
return Online::where('id', '=', Session::getId())->update(['user_id' => Auth::user()->id]);
}else{
return Online::where('id', '=', Session::getId())->update(['user_id' => null]);
}
}
EventServiceProvider içinde auth.login ve auth.logout içinde bu event'ı dinlemesi için
'auth.login' => [
'App\Handlers\Events\OnlineEventHandler',
],
'auth.logout' => [
'App\Handlers\Events\OnlineEventHandler',
],
şeklinde eklemeleri yaptım.
php artisan clear-compiled komutumu verdim ve login logout işlemlerini denediğimde aşağıdaki hata ile karşılaştım. Nerede yanlış yapıyorum?
ErrorException in OnlineEventHandler.php line 30:
Argument 1 passed to App\Handlers\Events\OnlineEventHandler::handle() must be an instance of App\Online, instance of App\User given