- デフォルト値を使用する: データベースにカラムを追加する際に、デフォルト値を指定することができます。これにより、新しいレコードが挿入される際に、そのカラムには自動的にデフォルト値が設定されます。
例えば、created_at
カラムに現在の日時を自動的に設定する場合、データベースのマイグレーションファイルで以下のように設定します:
Schema::create('table_name', function (Blueprint $table) {
// ...
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
// ...
});
- イベントを使用する: Laravelでは、モデルのイベントを使用して、挿入操作が行われる前に特定の処理を実行することができます。これを利用して、カラムを自動的にプリフィルすることができます。
例えば、User
モデルに新しいレコードが挿入される前に、created_at
カラムに現在の日時を設定する場合、以下のようにします:
class User extends Model
{
// ...
protected static function booted()
{
static::creating(function ($user) {
$user->created_at = now();
});
}
}
上記のコードでは、creating
イベントが発生するたびに、指定した処理が実行されます。
これらはLaravelでデータベースの列を自動的にプリフィルする方法の一部です。詳細な実装方法や他のオプションについては、Laravelの公式ドキュメントを参照してください。