ID、パスワードが必要なユーザをDBに登録する際にphpMyAdminで登録するとパスワードが暗号化されていない状態で登録されてしまいます。
その状態でLravelでログインしようとすると、こんなエラーになってしまいます。
LaravelにはSeederというデータを投入するための便利なものがあるので、それを使ってユーザを登録してみます。
Seederを作成
$ php artisan make:seeder UsersSeeder
database/seeds/UsersSeeder.phpが作成されます。
作成されたSeederに追加するデータを記述
insert([
'name' => 'user01',
'email' => 'user01@hogehoge.com',
'password' => bcrypt('password01'),
]);
}
}
パスワードをbcryptで暗号化しています。
database/seeds/DatabaseSeeder.phpにクラスを登録します。
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
$this->call([
UsersSeeder::class,
]);
}
}
Seederをクラス指定して実行します。
$ php artisan db:seed --class=UsersSeeder