Php 对Null Laravel调用成员函数fill()
我一直在试着编辑一张唱片。如果数据为空,我的代码将创建一个新记录。但是,我得到以下错误: 调用成员函数fill on null 我不确定我做错了什么;也许我没有申报 控制器Php 对Null Laravel调用成员函数fill(),php,laravel,runtime-error,null-pointer,laravel-controller,Php,Laravel,Runtime Error,Null Pointer,Laravel Controller,我一直在试着编辑一张唱片。如果数据为空,我的代码将创建一个新记录。但是,我得到以下错误: 调用成员函数fill on null 我不确定我做错了什么;也许我没有申报 控制器 在填充之前,您应该检查拍卖是否为空 修改后的脚本 public function auctionUpdate(Request $request, MediaSite $mediaSite) { $auction = $mediaSite->auction; DB::transaction(functi
在填充之前,您应该检查拍卖是否为空 修改后的脚本
public function auctionUpdate(Request $request, MediaSite $mediaSite)
{
$auction = $mediaSite->auction;
DB::transaction(function() use ($request, $mediaSite, $auction){
if($auction == null)
$auction = new Auction();
$auction->fill($request->only([
'status', 'start_time', 'end_time', 'period_start_date'
]));
$auction->save();
});
return view('admin.media-site.show', [
'mediaSite' => $mediaSite,
'auction' => $auction
]);
}
什么是MediaSite?$mediaSite参数传递给函数的是什么?大概,$mediaSite->auction为空。如果$auction==null$auction=新拍卖,您是否应该移动您的if$auction==null$auction=新拍卖;高于$auction->fill?MediaSite是一个模型,它也有到拍卖模型的链接。我想通过媒体网站模型编辑拍卖数据。您应该检查空值,并尽早给出一个错误。验证代码应该检查外部输出,只检查代码的外部部分,而不检查内部代码。避免防御性编程,快速失败,而不是解决错误,但编辑和保存不起作用。谢谢,顺便说一句。我刚刚意识到我可以编辑,但如果它是空值,我就无法保存。什么是异常?对不起,我不明白什么是异常?删除DB事务,那么您将得到错误