laravel - laravel 7编辑旧值未选择表单
问题描述
您好,我将此代码用于编辑表单中的选择类别,但它不起作用!这条线不起作用
<option value="{{$category->id}}" {{ old('parent') ? 'selected' : '' }} >
并使用它,但两个代码不起作用!
{{ in_array($category->id ,$category->child()->pluck('id')->toArray()) ? 'selected': ''}}
我的代码是
<option value="0"{{$category->parent == '0' ? 'selected': ''}}>دسته اصلی</option>
@foreach(\App\Category::all() as $category)
<option value="{{$category->id}}" {{ in_array($category->id ,$category->child()->pluck('id')->toArray()) ? 'selected': ''}}>
@if($category->parent== 0)
{{$category->name}}
@else
-- {{$category->name}}
@endif
</option>
@endforeach
和我的模型类别这个
public function child()
{
return $this->hasMany(Category::class, 'parent', 'id');
}
public function get_parent()
{
return $this->hasOne(Category::class,'id','parent');
}
解决方案
你需要这样做
<option value="{{ $category->id }}" {{ old('parent') == $category->id ? 'selected' : '' }} >
但是假设如果您有所有类别和一个类别也有编辑记录,这意味着您已经来编辑具有单个类别的页面,并且您希望默认选择该类别。
<option value="{{ $category->id }}" @isset($cat) {{ $cat->id == $category->id ? 'selected' : '' }} @endisset >
在这种情况下$cat
,是一个用于编辑的类别,并且$category
是您在下拉列表中的所有类别中循环。
更新代码
<select name="parent" id="parent">
<option value="0"{{$category->parent == '0' ? 'selected': ''}}>دسته اصلی</option>
@foreach(\App\Category::all() as $category_loop)
<option value="{{$category->id}}"
@isset($category) {{ $category->parent == $category_loop->id ? 'selected' : '' }} @endisset>
@if($category_loop->parent== 0)
{{$category_loop->name}}
@else
-- {{$category_loop->name}}
@endif
</option>
@endforeach
</select>
推荐阅读
- firebase - 无法无条件调用方法“[]”,因为接收者可以为“null”
- react-native - 如何将所选数据从 Flatlist 传递到另一个屏幕
- python - odoo 表中只有一次字段
- ruby-on-rails - Rails Devise 邀请链接无效
- python - 测试 FastAPI TestClient 对请求返回 422
- python - 如何在具有特定格式的文件中写入列表?
- python - 使用 plotly 实现带有飞行方向的地图
- javascript - 使用 Imask 的可选十进制长度
- node.js - 云函数/未定义参数/条纹登录链接创建/颤动
- javascript - 在单独的动画类中使用多个 CSS 变换函数不起作用