現在投票サイトを作っていて、投票数を時間で管理するためにLaravelで最終ログイン履歴を保存したいです。
どうかよろしくお願いします。
参考サイト:選べる全4種類!Laravelで最終ログイン&ログアウト日時を保存
OS:Windows10 home
Laravel Framework 6.18.20
ソースコード
LoginController.php
<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Laravel\Socialite\Facades\Socialite; class LoginController extends Controller { use AuthenticatesUsers; /** * Where to redirect users after login. * * @var string */ protected $redirectTo = RouteServiceProvider::HOME; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest')->except('logout'); } protected function authenticated(Request $request, $user) // 参考サイトの通りに記述 { $user->last_login_at = now(); $user->save(); } }
usersテーブル
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name')->unique(); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password')->nullable(); $table->dateTime('last_login_at')->nullable(); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } }