前回、part6 でテーブル作成しましたが、データが入っていないのでせっかくなのでシーディングで入れてみます。
今回の内容
シーディング
データ挿入
※part6で作成したテーブルを使用します。
シーディングとは
seeding
データベースに初期データやダミーデータなどのレコードを挿入できる機能。
シーディングするためのファイルをシーダー(seeder)という。
シーダーファイル作成
下記コマンドでファイル名を指定して実行。
今回はFruitsTableSeederという名前で作成する。
php artisan make:seeder FruitsTableSeeder
実行すると/database/seeds
フォルダに指定したファイル名で作成される。
FruitsTableSeeder
<?php
use Illuminate\Database\Seeder;
class FruitsTableSeeder extends Seeder{
public function run(){
//
}
}
run
メソッドが用意されているのでここにinsert処理を書いていく。
FruitsTableSeeder
public function run(){
$param = [
'name' => 'バナナ',
'price' => '120'
];
DB::table('fruits')->insert($param);
$param = [
'name' => 'リンゴ',
'price' => '250'
];
DB::table('fruits')->insert($param);
}
シーダーファイルを登録
このままだとシーダーが作成されただけで動いてくれない。
DatabaseSeeder.php
に登録することでシーディングコマンドで実行されるようになる。
登録の仕方はDatabaseSeeder.php
にサンプルが書いてあるので同じように書く。
DatabaseSeeder.php
class DatabaseSeeder extends Seeder{
public function run(){
// $this->call(UserSeeder::class);
$this->call(FruitsTableSeeder::class);
}
}
シーディング実行
コマンドを実行すると登録したシーダーが実行される。
php artisan db:seed