ピックアップ
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
このようになるので、
このコマンドを実行すれば初期データのインサートが完了です。
おすすめ書籍
コメント一覧
コメントはまだありません。



 
           
          
 
           
           
      
コメントを残す