- Tambahkan kolom last_activity di table user : $table->integer('last_activity')->index();
- Buat Middleware : UpdateLastActivity yang isinya :
public function handle(Request $request, Closure $next): Response
{
if ($user = auth()->user()) {
$user->timestamps = false;
$user->last_activity = now()->getTimestamp();
$user->saveQuietly();
}
return $next($request);
}
- daftarkan middleware di kernel.php
- data user online siap di panggil dengan query :
User::where(
'last_activity',
'>',
now()->subMinutes(5)->getTimestamp()
)
->get();
Sumber : https://laraveldaily.com/post/laravel-show-number-list-of-users-currently-online