ピックアップ
Laravelのテーブルに初期値をインサートする方法

Laravelのテーブル自体を、
migrationなどで作成することは多いです。
そんな中で、
初期値として1行のレコードをインサートしたい
という要望はよくあります。
そんな時は、
LaravelのSeedingという方法を使うことで、
簡単に初期値を追加できるので、
環境を作って、初期レコードをテーブルに入れたい
という時は、この方法がおすすめです。
Laravelのテーブルに初期値をインサートする方法
参考にするべき公式ドキュメント
まずは何よりも公式ドキュメントを参考にしましょう。
Laravelの公式ドキュメントは、
すごく丁寧にまとめられているので、
非常に参考にしやすいと思います。
参考サイト
Laravelの公式ドキュメントのサイト
【準備】インサートするデータを定義する
Seedingを行うことで、
テーブルの初期値としてインサートできますが、
その設定自体は、
【Laravelのフォルダ】/database/seeds/DatabaseSeeder.php
というファイルで設定します。
中身の参考として、
簡単な例を載せておきます。
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call('HogeTableSeeder');
$this->command->info('User table seeded!');
}
}
class HogeTableSeeder extends Seeder {
public function run()
{
DB::table('hoge_table')->delete();
DB::table('hoge_table')->insert(array("hoge_column" => "setting value"));
}
}
【実行】実際にデータをインサートする
先ほどの
【Laravelのフォルダ】/database/seeds/DatabaseSeeder.php
というファイルに、
インサートするデータの設定が終わったら、
あとは実行するのみです。
実行は、artisanのオプションに用意されています。

artisanも含めた実行コマンドは、
php artisan db:seed
このようになるので、
このコマンドを実行すれば初期データのインサートが完了です。
おすすめ書籍
コメント一覧
コメントはまだありません。




コメントを残す