带有old()辅助函数的Laravel组件



为了方便起见,我制作了一个包含下拉列表的组件。这样,当我需要它时,我可以在任何地方使用它。这就是组件

<h5>{{$title}}</h5>
<select class="select" {{$required_district}} name="{{$select_district}}" id="{{$select_district}}">
<option value="" selected> {{ __('Select the district') }} </option>
@foreach($districts as $district)
<option value="{{ $district->id }}"
{{ old($select_district) && $district->id == old($select_district)  ? 'selected' : '' }}>
{{ $district->name_en }}</option>
@endforeach
</select>
@error($select_district)
<label class="text-danger" style="">{{$message}}</label>
@enderror

我在这里做的是标题、输入文件名id和其他类型的东西,通过@slot((动态生成,就像下面的一样

@component('destrict')
@slot('title')
Where do you want a job to be started
@endslot
@slot('select_district')
selected_district
@endslot
@slot('required_district')
required
@endslot
@endcomponent

好吧,一切都很好,但当我提交包含该组件的表单时,当验证失败时,它会生成以下错误。

array_key_exists((:第一个参数应该是字符串或整数

当表单重定向回验证错误时,此行出现问题

{{ old($select_district) && $district->id == old($select_district)  ? 'selected' : '' }}

如果我删除了{{ old($select_district) }},或者我只是像使用{{ old('name_here') }}一样使用它,那么事情就应该正常工作。但是由于我需要在更多的页面中使用这个组件,我想解决这个问题。有人能帮我解决这个问题吗。

这可能很棘手,但我能够修复以下中的错误

old(''.$select_district.'')

感谢

相关内容

  • 没有找到相关文章

最新更新