为什么$cv
在这种情况下
$cv = Cv::findOrFail($id)->fill($request->all());
$cv->save();
var_dump($cv);
返回模型(因此我可以访问$cv->id
,在这种情况下
$cv = Cv::findOrFail($id)->fill($request->all())->save();
var_dump($cv);
只返回true
?
答案 0 :(得分:3)
我对类似的东西感到困惑。方法fill()和create()都创建并返回一个新模型。在使用它之前,您需要先处理模型。
save()方法总是返回boolean。
所以在第二种情况下,正在创建模型,并在该新模型上调用save(检查数据库以确保),但是您无法访问它。
虽然它不那么漂亮,但第一种情况是你应该如何创建/填充模型。
答案 1 :(得分:0)
$cv = Cv::findOrFail($id)->fill($request->all());
此处,您的上一个链式方法fill
会返回一个模型对象,该对象已分配给您的变量$cv
。
$cv->save();
这会返回boolean
但您尚未将其分配给$cv
,因此您的$cv
变量仍然与第一行(即模型)相同。 / p>
在下一个例子中,
$cv = Cv::findOrFail($id)->fill($request->all())->save();
您的上一个链式方法save
返回一个布尔值,该布尔值已分配给您的变量$cv