簡體   English   中英

在null上調用成員函數fill()

[英]Call to a member function fill() on null

我要進行更新,保留以下信息:

$radicado = \App\Radicado::find($id);
        $radicado->fill($request->all());
        $radicado->codigoRadicado = $request['codigoRadicado'];
        $radicado->Dependencia_idDependencia = $request['Dependencia_idDependencia'];
        $radicado->Serie_idSerie = $request['Serie_idSerie'];
        $radicado->SubSerie_idSubSerie = $request['SubSerie_idSubSerie'];
        $radicado->save();
        if($request->ajax())
    {
        return response()->json(['message' => 'Actualizado correctamente']);
    }

    return redirect('/radicado');

為此運行以下ajax

var token = document.getElementById('token').value;
    $.ajax({
        async: true,
        headers: {'X-CSRF-TOKEN': token},
        url: $(formId).attr('action'),
        type: $(formId).attr('method'),
        data: $(formId).serialize(),
        dataType: 'html',
        success: function(result){
            $(formId)[0].reset();
            alert(result);
            document.getElementById("preview").style.display = "none";
        },
        error: function(){
            alert('No se ha actualizado el documento.');
        }
    });

但是,當我得到此錯誤存儲時:在null上調用成員函數fill()

顯示的前兩行是這樣的:

$radicado = \App\Radicado::find($id);
$radicado->fill($request->all());

錯誤是因為您的find()語句未找到帶有該$id的記錄。 由於未找到記錄,因此返回null 由於它返回null ,因此$radicado現在為null ,並且您不能在null值上調用方法。

首先確保該行存在。 試試firstOrFail()

$radicado = \App\Radicado::firstOrFail($id);

如果仍然無法使用,請仔細檢查您的外觀或模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM