まず、seeder fileを作ります。
[vagrant@localhost test]$ php artisan make:seeder SmartTableSeeder
Seeder created successfully.
すると、database/seeds配下に SmartTableSeeder.php が出来る。
runメソッドでデータ挿入
use Illuminate\Database\Seeder;
class SmartTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$ministers = ['taro', 'masatoshi', 'takashi','masahiko','takumi'];
foreach ($ministers as $minister) {
DB::table('minister')->('minister')
}
}
}
あれ、DB::table(‘minister’)->(‘minister’) って、なんかおかしいぞ。
で、シーダーファイルは、DatabaseSeeder.phpから呼び出す。
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// $this->call(UsersTableSeeder::class);
$this->call('SmartTableSeeder::class');
}
}
seeder 実行
[vagrant@localhost test]$ php artisan db:seed
Seeding: SmartTableSeeder::class
In Container.php line 729:
Class SmartTableSeeder::class does not exist
ん?
[vagrant@localhost test]$ php composer.phar dump-autoload
Generating optimized autoload filesCarbon 1 is deprecated, see how to migrate to Carbon 2.
https://carbon.nesbot.com/docs/#api-carbon-2
You can run ‘./vendor/bin/upgrade-carbon’ to get help in updating carbon and other frameworks and libraries that depend on it.
Generated optimized autoload files containing 3116 classes
[vagrant@localhost test]$ php artisan db:seed
Seeding: SmartTableSeeder::class
In Container.php line 729:
Class SmartTableSeeder::class does not exist
あれええええええー
あ、こうか
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// $this->call(UsersTableSeeder::class);
$this->call(
SmartTableSeeder::class
);
}
}
[vagrant@localhost test]$ php artisan db:seed
Seeding: SmartTableSeeder
In Connection.php line 647:
SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘test.minister’ d
oesn’t exist (SQL: insert into `minister` (`age`, `name`) values (54, taro)
, (54, taro))
In Connection.php line 445:
SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘test.minister’ d
oesn’t exist
うん、seederが複数あるときと、一つの場合だと書き方が異なりますね。
migrationしてないので、カラムが無いと表示されていますが、seederについてはわかりました。