我想进行更新,保留以下信息:
$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);
如果仍然不起作用,请仔细检查您的立面或模型。