当我尝试使用此代码更新模型时:
public function updateMixedtape($slug, Request $request)
{
$mix = Mix::where('slug', $slug)->get();
$mix->update($request->all());
return redirect('dashboard/mixes');
}
我发现方法update
不存在错误。但是,如果我修改了我的视图以发送radio_show_id
而不是slug
,然后尝试将代码更改为这样的内容:
public function updateMixedtape(Request $request)
{
$mix = Mix::findOrFail($request->radio_show_id);
$mix->update($request->all());
return redirect('dashboard/mixes');
}
代码执行没有任何错误。
让我感到困惑的是,如果我在调用update
方法的行之前执行类似return $mix;
的操作,我会获得这两种方法的类似数据。
正如我的问题的评论部分$mix = Mix::where('slug', $slug)->get();
的评论部分所建议的是返回集合而不是模型。这是因为Model::where()
方法可以返回零,一个或多个记录,具体取决于是否有符合设定条件的记录。
所建议的,我使用$mix = Mix::where('slug', $slug)->first();
而不是获得符合条件的第一个记录。