如何解决Laravel 选择旧值和新值作为选择
不确定如何问这个问题。但是,从数据库中获取值后,如何选择旧值?当您单击编辑时,您将获取数据库结果。但是如果出现问题,我想要用户插入的值。
<select name="category_id" class="form-control" id="category">
@foreach($category as $cat)
<option value="{{$cat->id}}"
{{ old('category_id',$cat->id) == $subCategory->category_id ? "selected" : "" }}>
{{ $cat->category_en }} | {{ $cat->category_de }}</option>
@endforeach
</select>
但是,当我按下更新时,它不使用旧的选定值,而是自动转到 foreach 中的第一个选项。
解决方法
使用 optional() 助手和 old() 助手来处理这种情况。
<option value="{{ $cat->id }}" @if (old('category_id',optional($subCategory)->category_id) == $cat->id) selected @endif>{{ $cat->category_en }} | {{ $cat->category_de }}</option>
这意味着当它获得旧的输入值 null 时,它将使用对象值来选择一个项目。当有旧输入值时,它将选择旧输入值。不过,您可以省略可选的助手,当您使用相同的表单进行创建和更新时,它很有用。
,<select name="category_id" class="form-control" id="category">
@foreach($category as $cat)
<option value="{{$cat->id}}"
@if($cat->id == $subCategory->category_id) ? selected : '' @endif>
{{ $cat->category_en }} | {{ $cat->category_de }}</option>
@endforeach
</select>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。