php - 具有 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.'')
谢谢
推荐阅读
- graphql - Graphql 哪里/子查询
- python - 在spyder中运行多个实例:取消选择“使用单个实例”的选项是灰色的?
- dockerfile - 将环境变量从 GitLab CI/CD 作业传递给 docker 失败
- python - Python CAN isotp 套接字未接收数据,但接收到了 candump
- sql - 在 postgres 中使用 to_tsquery 查找匹配的单词
- python - 为什么 `myfloat in myset` 变得超级慢?
- raku - 将类的运算符定义与其他文件分离并使用它们
- email-validation - Vaadin 14 Flow EmailField Validation 不起作用
- python - 如何修复此 int 在我的代码中不可下标
- react-native - React Native Expo 问题