php artisan make:middleware UserActive
php artisan make:migration AddLastActiveField
composer dump-autoload -o
In folder app\http\Middleware\UserActive.php
public function handle($request, Closure $next)
{
if (\Auth::check()) {
// The user is logged in...
$user = \Auth::user();
$user->lastActive = date('Y-m-d H:i:s');
$user->save();
}
return $next($request);
}
In the migration file
public function up()
{
//
Schema::table('users', function (Blueprint $table) {
$table->timestamp('lastActive');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('lastActive');
});
}
Looking back lastActive should probably be last_active as that is the common way to name mysql columns. Add the middleware to app\http\Kernel.php
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\App\Http\Middleware\UserActive::class
],
'api' => [
'throttle:60,1',
],
];
more info on middleware https://laracasts.com/series/intermediate-laravel/episodes/7