テーブルにシーディングする(Seeder)
テーブルへの初期データ投入が必要な場合、手作業でレコードをinsertするのではなくシーディング機能を使ってレコード投入することができます。
まずはSeedファイルを作成します。
php artisan make:seed Seeder名
php artisan make:seed MembersSeeder
Seedファイルは「database/seeds/」フォルダに格納されます。
Seedファイルの中を見てみましょう。
<?php
use Illuminate\Database\Seeder;
class MembersSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}
run()メソッドの中に、テーブルにデータを格納する処理を記述します。
例えば、次のように書きます。
<?php
use Illuminate\Database\Seeder;
use App\Member;
class MembersSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$member = new Member;
$member->name = '山田';
$member->save();
}
}
Memberモデルを使っていますので、ファイル冒頭のuse宣言を忘れずにしてください。
これでSeedファイルは完成です。
Seedファイルが完成したら、次のコマンドでこのSeederを実行(シーディング)します。
php artisan db:seed --class=Seeder名
実行すると、run()メソッドの記述通りにレコードが生成されました。
