【问题标题】:Undefined Index value in LaravelLaravel 中未定义的索引值
【发布时间】:2020-02-10 05:25:32
【问题描述】:

我正在使用 Laravel 5.4 想要将表单发送到数据库,但它显示了这个错误:

未定义的索引:经理

一切都是正确的,但我正在努力弄清楚为什么这不起作用。

我的模特:

protected $fillable =['name','clinic_id','tel1','tel2','tel3','tel4'
    ,'country','province','city','address','manager','manager_tel','parent_id'];

我的控制器:

    $data = $request->except('_token');

    //dd($data);
    Clinic::create([
        'manager' => $data['manager'],
        'name' => $data['name'],
//      'clinic_id' => $data['clinic_id'],
        'tel1' => $data['tel1'],
        'tel2' => $data['tel2'],
        'tel3' => $data['tel3'],
        'tel4' => $data['tel4'],
        'country' => $data['country'],
        'province' => $data['province'],
        'city' => $data['city'],
        'address' => $data['address'],
        'manager_tel' => $data['manager_tel'],
    'clinic_id' => $data['clinicID']
]);

return redirect()->back()->with(['status' => 'ok']);

我的观点:

<div class="form-group col-md-3 float-right">
    <label> مدیر کلینیک : </label>
    <input type="text" class="form-control text-right"  name="manager" id="SetClinic1" required disabled>
</div><!-- form-group -->
<div class="form-group col-md-3 float-right">
    <label> شماره تماس مدیر : </label>
    <input type="text" class="form-control text-right"
           placeholder="09125461111" dir="ltr" name="manager_tel" required>
    @if($errors->has('manager_tel'))
        {{$errors->first('manager_tel')}}
    @endif
</div><!-- form-group -->

【问题讨论】:

  • 我不太喜欢 Laravel,但你不应该在配置中使用 Driver 吗? This 链接和 This 链接的可能重复项。看看他们。

标签: php html laravel eloquent laravel-blade


【解决方案1】:

不提交具有 Disabled 属性的 HTML 元素。这就是为什么 $data['manager'] 是 undefined 的原因。像这样从此行中删除 disabled 属性

<input type="text" class="form-control text-right"  name="manager" id="SetClinic1" required >

并且错误将得到解决。您也可以使该字段只读而不是禁用。

 <input type="text" class="form-control text-right"  name="manager" id="SetClinic1" readonly>

【讨论】:

  • 实际上我需要为其余代码禁用属性。我将它删除了一次,但它仍然无法正常工作。
  • 删除禁用属性后dd($data); 的输出是什么
【解决方案2】:

名为“manager”的字段被禁用,因此您无法在控制器上获取'manager' =&gt; $data['manager'],您可以使用readonly 而不是disabled,以便您可以在控制器上获取值。

<div class="form-group col-md-3 float-right">
    <label> مدیر کلینیک : </label>
    <input type="text" class="form-control text-right"  name="manager" id="SetClinic1" required readonly>
</div>

【讨论】:

    猜你喜欢
    • 2018-08-02
    • 2012-08-24
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 2015-04-06
    • 2021-10-06
    相关资源
    最近更新 更多