レコードの更新

続いて、データの更新処理を行ってみましょう。

$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処理などとも呼びます。)

results matching ""

    No results matching ""