Seedデータを作成する
$ dokcer-compose exec workspace php artisan make:seeder UserSeeder
laradockを使用しているので、laradockディレクトリに移動してから上記のコマンドを実行する。
ここでは、UserSeeder
というファイルを作成して、Userに関するデータを登録する。
database/seeds/UserSeeder.php
<?php
use Illuminate\Database\Seeder;
class UserSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
}
}
すると、上記のようなファイルが作成される。
ここに登録したいデータに関する記述を加える。
database/seeds/UserSeeder.php
<?php
use Illuminate\Database\Seeder;
class UserSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('users')->insert([
[
'name' => 'Tanaka Taro',
'age' => 50
],
]);
}
}
DB::table('users')->insert([
[
'name' => 'Tanaka Taro',
'age' => 50
],
]);
上記の記述で、Userテーブルにデータを登録できる。
あとは、Seederを実行するにはDatabaseSeederというクラスに作成したSeederクラスを登録する必要がある。
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(UserSeeder::class);
}
}
これで準備完了。
あとは下記のコマンドを実行する。
$ docker-compose exec workspace php artisan db:seed
これでSeederに書いた情報がDBに登録される。
終わり