シーディングについて
マイグレーションでテーブルを用意出来たら実際にダミーのレコードを入れてみましょう。
こうした機能をシーディングという。簡単に手順を説明すると
①シーディング用のスクリプトファイル作成(コマンド):シーダーファイル作成
②シードの追加
③コマンドでシーディング実行
シーダーファイルの作成
シードを作成するためのスクリプトファイルを生成する
php artisan make:seeder {シーダー名}
これでdatabase内のseedsファイル内にシーダー名.phpが生成される。
シーディング処理
シーダーファイル
<?php
use Illuminate\Database\Seeder;
class {シーダー名} extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('テーブル名')->truncate(); //一時的に消すため
$param =[
[
'name' => 'あああ',
'title_number' => 1,
],
[
'name' => 'いいい',
'title_number' => 2,
]
];
DB::table('テーブル名')->insert($param); //レコード作成
}
}
runメソッド内にテーブルの記述をする。DB::table('テーブル名')->insert($param);でレコードを作成している
シーダーファイルの登録
DatabaseSeederを登録しておく必要がある。(デフォルトで用意されている)
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// $this->call(UsersTableSeeder::class);
$this->call(シーダー名::class);
}
}
$this->call(シーダー名::class);でSeederクラスのcallメソッドを呼び出し、シーディング処理を行うようになっている
シーダーファイルの実行
php artisan db:seed
上記のコマンドでDatabaseSeederがrunする
シーディングができたら
php aritsan serve
上記のコマンドでサーバー起動できるのでレコードが表示されるか確認するといいです。