はじめに
- 業務でユーザー自身に登録させる仕様は少ない。
- コマンドラインから初期ユーザーを登録する必要がある。
- シーダーの使い方をまとめておく。
シーダーの作り方
以下のコマンドで Users テーブルのシーダーを作成できる。
php artisan make:seeder UsersTableSeeder
記述方法
ファイルは database/seeds/UsersTableSeeder.php として作成される。
<?php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class DatabaseSeeder extends Seeder
{
/**
* データベース初期値設定の実行
* @return void
*/
public function run()
{
DB::table('users')->insert([
'name' => 'UserName',
'email' => 'User@mailaddress.com',
'password' => bcrypt('password'),
]);
}
}
パスワードが bcrypt で暗号化しなければならないので、単純な insert 文ではデータを作成できない。
呼び出し
コマンドラインから呼び出せるように database/seeds/DatabaseSeeder.php にクラスを登録する必要がある。
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call([
UsersTableSeeder::class, // 呼び出すように追加
]);
}
}
実行コマンド
seeder をすべて実行する。
$ php artisan db:seed
特定のクラスを指定して実行する。
$ php artisan db:seed --class=UsersTableSeeder
さいごに
とにかく auth でログインを作っても、ユーザーがないとログインもできない。
[登録]を削ると新規ユーザーも登録できない。
シーダーで初期ユーザーを登録しておけば、ログインはできるし、
後でゆっくりユーザー管理機能を実装できるね。