レコードの更新
続いて、データの更新処理を行ってみましょう。
$message = App\Message::find(1)
を実行して$messageに id:1のデータを代入したら、
$message->body = '更新しました';
$message->save();
としてみましょう。
再度
App\Message::find(1)
を実行すると、id:1 のMessageが更新されていることが ご確認いただけます。
つまり、saveメソッドは、単純にINSERTを実行するだけではなく、
- オブジェクトにidが設定されていない、もしくは該当のidが存在しなければINSERT処理
- すでにテーブル内に存在しているidがオブジェクトに設定されていればUPDATE処理
というように自動で分岐を行なってくれるのです。 (このような処理を俗にUPSERT処理などとも呼びます。)