laravel Eloquent updateOrCreate()でmodelを更新する

Laravelロゴ

LaravelのupdateOrCreateメソッドは、指定した条件に基づいてデータベース内のレコードを更新するか、存在しない場合は新しいレコードを作成します。

このメソッドは非常に便利で、以下のようなシナリオで使用することができます。

  1. 既存のレコードを更新する場合: updateOrCreateメソッドは、指定した条件に一致するレコードが存在する場合、そのレコードの属性を指定した値で更新します。
  2. 新しいレコードを作成する場合: updateOrCreateメソッドは、指定した条件に一致するレコードが存在しない場合、新しいレコードを作成します。新しいレコードの属性は、指定した値で設定されます。

以下の例を見てみましょう:

 

// 更新または作成する属性の配列
$key = [
'name' => 'John Doe',
'email' => 'johndoe@example.com',
];

// 作成された場合にレコードに設定するオプションの値の配列
$options = [
'age' => 30,
];

// メソッドの呼び出し
User::updateOrCreate($key, $options);

この例では、Userモデルを使用してupdateOrCreateメソッドを呼び出しています。$data配列には更新または作成する属性が含まれており、もしUserモデルに該当するレコードが存在しない場合は新しいレコードが作成されます。また、作成された場合には$options配列の値が新しいレコードに設定されます。

以上がupdateOrCreateメソッドの基本的な使用方法です。このメソッドを活用することで、簡単にレコードの更新や作成を行うことができます。

Amazon.co.jp
Amazon.co.jp
タイトルとURLをコピーしました