微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel 选择旧值和新值作为选择

如何解决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 举报,一经查实,本站将立刻删除。