Laravel Seederを使用したリレーションシップの作成方法


  1. Seederファイルの作成: まず、データベースに初期データを挿入するためのSeederファイルを作成します。ターミナルで以下のコマンドを実行して、新しいSeederファイルを生成します。
php artisan make:seeder RelationshipSeeder

これにより、database/seedsディレクトリにRelationshipSeeder.phpファイルが作成されます。

上記の例では、PostモデルとTagモデルのインスタンスを作成し、$post->tags()->attach($tag)メソッドを使用してリレーションシップを作成しています。

  1. Seederの実行: DatabaseSeeder.phpファイルを開き、runメソッド内に作成したSeederファイルを呼び出します。
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
    public function run()
    {
        $this->call(RelationshipSeeder::class);
    }
}
  1. Seederの実行: ターミナルで以下のコマンドを実行して、Seederを実行します。
php artisan db:seed

これにより、定義したリレーションシップがデータベースに挿入されます。

以上の手順に従うことで、Laravel Seederを使用してリレーションシップを作成することができます。これにより、初期データを簡単に準備することができます。