Laravel4の初期値設定クラスのSeederを使う

スポンサーリンク

こんばんは。ファガイです。
本日は、Laravel4の初期値設定クラスのSeederに付いて少しまとめます。

基本的な使用方法

Seederの使い方はこのような形になります。

  1. DatabaseSeederを継承して専用のSeederクラスを作る
  2. そのSeederにrunメソッドを実装する(レコードを追加する処理)
  3. DatabaseSeederのrun内にてcallメソッドを記載
  4. コマンドを打つ

専用のSeederクラスを作る

今回は例としてUserモデルにデータを追加するUserDatabaseSeederを作ります。

<?php

class UserSeeder extends DatabaseSeeder
{
    public function run()
    {
        $users = [
            [
                "email" => "[email protected]",
                "password" => Hash::make("password")
            ]
        ];

        foreach($users as $user)
        {
            User::create($user);
        }
    }
}

こんな感じですね。

DatabaseSeederのrunメソッド内にcallを追加

<?php

class DatabaseSeeder extends Seeder
{
    public function run()
    {
        Eloquent::unguard();

        $this->call('UserSeeder'); // ←を追加
    }
}

コマンドを打つ

composer dump-autoload
php artisan db:seed

まとめ

seederはデフォルトユーザを作ったりする上で便利。
よくコマンドを忘れるのでメモ代わり。

今回は、laravel4 CookBookの方を参考にさせていただきました。

ではではー。

コメント

タイトルとURLをコピーしました