我想检索类别名称中的数据库值,并且想在选择中显示默认值。这是我的编辑视图的控制器。
我有一个category_product
table.
<div class="col-md-4">
<div class="form-group">
<label for="category">category</label>
<select class="form-control" name="category" id="category">
@foreach($categories as $category)
<option value="{{ $category->id }}" {{ $product->categories()->category_id == $category->id ? 'selected' : '' }}>{{ $category->name }}</option>
@endforeach
</select>
</div>
</div>
产品控制器.php
public function edit(Product $product)
{
$categories = Category::all();
return view('Admin.products.edit', compact('product', 'categories'));
}
产品.php
public function categories()
{
return $this->belongsToMany(Category::class);
}
我收到这个错误。
未定义的属性: Illuminate\Database\Eloquent\Relations\BelongsToMany::$category_id
您需要在上面的 select 标签中添加默认值foreach()
loop.
<div class="col-md-4">
<div class="form-group">
<label for="category">category</label>
<select class="form-control" name="category" id="category">
<option value="xyz">xyz</option> /* set default option value */
@foreach($categories as $category)
<option value="{{ $category->id }}" {{$category->id == $category->id ? 'selected' : '' }}>{{ $category->name }}</option>
@endforeach
</select>
</div>
</div>
如果您想选择设置类别名称,那么您需要匹配产品集合中的类别。 ( 如果你有catetory_id
在产品表中)
<select class="form-control" name="category" id="category">
@foreach($categories as $category)
<option value="{{ $category->id }}" {{$product->catetory_id == $category->id ? 'selected' : '' }}>{{ $category->name }}</option>
@endforeach
</select>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)