最佳答案
想必你应该是这样写的:
$user = User::first();
$user->name = hello;
User::first()->save();
第一行和第二行都没有问题,问题就处在第三行。
User::first()->save();
这段代码可以看成两个操作:
- 取出
User
模型相关联数据库的第一条数据。 - 对取出的字段进行存储。
也就是说代码可以看成这样:
$user = User::first();
$user->name = hello;
// 这里 $temp 是我引入的中间变量,便于理解。
$temp = User::first();
$temp->save()
$temp
取出第一条数据,紧接着将它存储。故并不会数据修改。
第三行换成这样的话:
$user->save();
这就会将 $user
里的信息保存,上面你的 $user
做出了修改,所以这里保存的是修改之后的信息。故一切正常。
讨论数量:
想必你应该是这样写的:
$user = User::first();
$user->name = hello;
User::first()->save();
第一行和第二行都没有问题,问题就处在第三行。
User::first()->save();
这段代码可以看成两个操作:
- 取出
User
模型相关联数据库的第一条数据。 - 对取出的字段进行存储。
也就是说代码可以看成这样:
$user = User::first();
$user->name = hello;
// 这里 $temp 是我引入的中间变量,便于理解。
$temp = User::first();
$temp->save()
$temp
取出第一条数据,紧接着将它存储。故并不会数据修改。
第三行换成这样的话:
$user->save();
这就会将 $user
里的信息保存,上面你的 $user
做出了修改,所以这里保存的是修改之后的信息。故一切正常。
推荐文章: