Laravel の UPDATE 順序

Stackoverflow に書いてありますが、Laravel の update メソッドには順序があります。

// やってしまった
DB::table('myfields')->update(['value' => $value])->where('id', $id);

update メソッドは int を返すため、「where を int に適用しようとしています」みたいなエラーが出て実行が止まってしまいます。正しくは

// こちらが正解
DB::table('myfields')->where('id', $id)->update(['value' => $value]);

と先に where メソッドを呼び出す必要があります。

小技だけど、よく忘れて失敗するので備忘録。

投稿者について
みのしす

小さいときは科学者になろうとしたのに、その時にたまたま身に着けたプログラミングで未だに飯を食っているしがないおじさんです。(年齢的にはもうすぐおじいさん)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です