テーブルにシーディングする(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()メソッドの記述通りにレコードが生成されました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です