$user = User::where('id', $id)->get();
$user->name = $name;
$user->save();
この処理を行うと
Method save does not exist.
と出ました。
何が原因かというと、
get()はデフォルトでは結果が1件の場合でも「配列」を返します。
そのためget()をつかう場合はこのようにしないとエラーになってしまいます。
$users = User::where('id', $id)->get();
foreach($users as $user) {
$user->name= $name;
$user->save();
}
結果が1件だと分かりきっている場合はfirst()を使いましょう。
>```php
$user = User::where('id', $id)->first();
$user->name = $name;
$user->save();
もしくはこのようにupdate()メソッドを使っても良いかもしれません。
User::where('id', $id)->update(['name' => $name]);
配列に対してだとsaveメソットは正常に動作しない、とのことです。
[これ](https://teratail.com/questions/51127)の引用です。