You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8表单编辑异常排查:apellido与cedula字段无法更新

问题根源:表单字段name属性错误

嘿,我一眼就揪出问题所在了!你的视图表单里有好几个字段的name属性写错了,这直接导致提交的请求参数混乱,不仅apellido、cedula没法正常更新,连direccion和ciudadResi也会出问题。

具体错误位置:

  • Cédula字段:你把input的name写成了apellido,而不是cedula——这会导致用户输入的身份证号被塞进apellido参数里,真正的cedula参数根本没被提交。
  • Dirección字段:同样,name属性错误地写成了apellido,应该改为direccion。
  • Ciudad de Residencia字段:name属性也是错误的apellido,需要改成ciudadResi。

修正后的表单字段代码:

把这三个字段的name属性修正后,就能正常提交参数了:

<!-- 修正后的Cédula字段 -->
<div class="form-group row">
    <label for="cedula" class="col-md-4 col-form-label text-md-right">{{ __('Cédula') }}</label>
    <div class="col-md-6">
        <input id="cedula" type="text" class="form-control @error('cedula') is-invalid @enderror" name="cedula" value="{{ $medico->cedula}}" required autocomplete="cedula" autofocus>
        @error('cedula')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>
</div>

<!-- 修正后的Dirección字段 -->
<div class="form-group row">
    <label for="direccion" class="col-md-4 col-form-label text-md-right">{{ __('Dirección') }}</label>
    <div class="col-md-6">
        <input id="direccion" type="text" class="form-control @error('direccion') is-invalid @enderror" name="direccion" value="{{ $medico->direccion}}" required autocomplete="direccion" autofocus>
        @error('direccion')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>
</div>

<!-- 修正后的Ciudad de Residencia字段 -->
<div class="form-group row">
    <label for="ciudadResi" class="col-md-4 col-form-label text-md-right">{{ __('Ciudad de Residencia') }}</label>
    <div class="col-md-6">
        <input id="ciudadResi" type="text" class="form-control @error('ciudadResi') is-invalid @enderror" name="ciudadResi" value="{{ $medico->ciudadResi}}" required autocomplete="ciudadResi" autofocus>
        @error('ciudadResi')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>
</div>

问题原因解析:

当多个表单字段共用同一个name属性时,提交请求后后面字段的值会覆盖前面的,而且你真正需要的cedula、direccion、ciudadResi参数根本不会出现在$request->all()里。Laravel的fill()方法依赖请求参数和模型$fillable里的字段名匹配,所以这些字段自然没法被正确更新。

修正后,你再用dd($request->all())查看,就能看到cedula、direccion、ciudadResi的正确参数了,此时执行更新操作就能正常生效。

内容的提问来源于stack exchange,提问作者Diego Utreras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 20:47:28