Я вижу несколько вещей в вашем коде.
Во-первых, вы объявляете поле first_time_login
в виде строки, оно должно быть логическим со значением по умолчанию true
. Например:
2014_10_12_000000_create_users_table. php
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name')->nullable();
$table->string('email')->unique()->nullable();
$table->timestamp('email_verified_at')->nullable();
$table->string('password')->nullable();
$table->rememberToken()->nullable();
$table->timestamps();
$table->boolean('first_time_login')->default(true);
});
Еще одна вещь, после проверки того, что это первый вход в систему, вы устанавливаете 1
. Это заставит ваше поле остаться как true
. Измените его на:
TestController
public function Test()
{
if (Auth::user()->first_time_login) {
$first_time_login = true;
Auth::user()->first_time_login = false;
Auth::user()->save();
} else {
$first_time_login = false;
}
return view(
'test',
['first_time_login' => $first_time_login]
);
}
Это должно сделать это.