Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对Null Laravel调用成员函数fill()_Php_Laravel_Runtime Error_Null Pointer_Laravel Controller - Fatal编程技术网

Php 对Null Laravel调用成员函数fill()

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

我一直在试着编辑一张唱片。如果数据为空,我的代码将创建一个新记录。但是,我得到以下错误:

调用成员函数fill on null

我不确定我做错了什么;也许我没有申报

控制器


在填充之前,您应该检查拍卖是否为空

修改后的脚本

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事务,那么您将得到错误