Laravelで複数のレコードを更新または作成する方法


メソッドが便利です。

updateOrCreateメソッドは、指定された条件に一致するレコードが存在する場合は更新し、存在しない場合は新しいレコードを作成します。以下に、いくつかのコード例を示します。

  1. 単一のレコードを更新または作成する例:
$data = [
    'title' => 'New Title',
    'content' => 'New Content',
];
App\Post::updateOrCreate(['id' => 1], $data);

上記の例では、idが1のレコードが存在する場合は、titlecontentの値が更新されます。存在しない場合は、新しいレコードが作成されます。

  1. 複数のレコードを一度に更新または作成する例:
$data = [
    ['id' => 1, 'title' => 'Title 1', 'content' => 'Content 1'],
    ['id' => 2, 'title' => 'Title 2', 'content' => 'Content 2'],
    ['id' => 3, 'title' => 'Title 3', 'content' => 'Content 3'],
];
foreach ($data as $record) {
    App\Post::updateOrCreate(['id' => $record['id']], $record);
}

上記の例では、配列$dataに複数のレコードのデータが含まれています。配列内の各レコードに対してupdateOrCreateメソッドを使用し、指定された条件に一致するレコードが存在する場合は更新し、存在しない場合は新しいレコードを作成します。

これらの例を参考にして、Laravelで複数のレコードを更新または作成する方法を実装してみてください。