- ピボットテーブルのマイグレーションファイルを作成します。ターミナルで以下のコマンドを実行します。
php artisan make:migration add_timestamps_to_pivot_table --table=pivot_table_name
- 生成されたマイグレーションファイルを開き、以下のように
timestamps()
メソッドを使用してcreated_atとupdated_atフィールドを追加します。
public function up()
{
Schema::table('pivot_table_name', function (Blueprint $table) {
$table->timestamps();
});
}
- マイグレーションを実行するために、ターミナルで以下のコマンドを実行します。
php artisan migrate
これで、ピボットテーブルにcreated_atとupdated_atフィールドが自動的に追加されます。
追加のコード例として、ピボットテーブルモデルにwithTimestamps()
メソッドを使用する方法もあります。以下は例です。
class PivotModel extends Model
{
public $timestamps = true;
public function relatedModels()
{
return $this->belongsToMany(RelatedModel::class)->withTimestamps();
}
}
このようにすることで、関連するモデルとのリレーションシップに基づいてピボットテーブルのcreated_atとupdated_atフィールドが自動的に更新されます。
以上が、Laravelでピボットテーブルにcreated_atとupdated_atフィールドを自動的に追加する方法です。これにより、ピボットテーブルのレコードの作成日時と更新日時を簡単に追跡することができます。