Edited at

[PHP] laravelでseederを利用


laravelインストール記事


  1. [PHP] laravelを利用したので、インストールメモ

  2. [PHP] laravelでsqliteを利用

  3. [PHP] laravelでseederを利用


Seederを作成

Seederを作成

$ php artisan make:seeder UsersSeeder

Seeder created successfully.
$ ls database/seeds/
DatabaseSeeder.php UsersSeeder.php

テストコードを追記


UsersSeeder.php

<?php

use Illuminate\Database\Seeder;

class UsersSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/

public function run()
{
//
echo get_class($this) . "\n"; // 自分のクラス名をecho
}
}


確認

$ php artisan db:seed --class=UsersSeeder

UsersSeeder

※ クラスがautoloadされない!

下記のようにクラスが見つからない"Class UsersSeeder does not exist"というエラーが出ることがあります。

$ php artisan db:seed --class=UsersSeeder

[ReflectionException]
Class UsersSeeder does not exist

追加したクラスがautoloadされていない状況です。

その際には、dump-autoloadを実行すると、autoloadされるクラスが再定義されます。

$ composer dump-autoload