在null上调用成员函数fill()

时间:2016-02-08 17:02:35

标签: php jquery ajax laravel

我想进行更新,并保留以下信息:

$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()

2 个答案:

答案 0 :(得分:0)

显示的前两行是:

find()

错误是因为您的$id语句未找到null的记录。由于它没有找到记录,因此返回null。由于它返回$radicadonull现在为null,您无法在In [7]: main1.__code__.co_varnames Out[7]: ('globe',) In [8]: main2.__code__.co_varnames Out[8]: ('globe', 'x') 值上调用方法。

答案 1 :(得分:0)

首先确保该行存在。试试firstOrFail()

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

如果它仍无法正常工作,请仔细检查您的外观或型号。