【发布时间】:2021-02-04 10:18:59
【问题描述】:
在Categories->SubCategories->MenuItems 之间,我有很多通过雄辩的关系。我需要将类别名称显示为 optgroup 标头,并将其子类别显示为选项值。而不是我的期望,它显示了每个子类别之上的类别。对不起,我是菜鸟,请帮助我。
这是我到目前为止所做的。
<select wire:model="sub_category_id" class="form-select block w-full mt-1">
<option>Select Sub Category</option>
@foreach ($menuitemlist as $menuitem)
<optgroup label="{{ $menuitem->SubCategories->Categories->category_name }}">
<option value="{{ $menuitem->SubCategories->id }}">{{ $menuitem->SubCategories->sub_category_name }}</option>
</optgroup>
@endforeach
@error('sub_category_id') <h1 class="text-red-500">{{$message}}</h1>@enderror
</select>
编辑
这是我的亲戚。
类别模型
public function SubCategories() {
return $this->hasMany(SubCategory::class, 'category_id');
}
public function MenuItems() {
return $this->hasManyThrough(MenuItem::class, SubCategory::class, 'category_id', 'sub_category_id');
}
子类别模型
public function Categories() {
return $this->belongsTo(Category::class, 'category_id');
}
public function MenuItems() {
return $this->hasMany(MenuItem::class, 'sub_category_id');
}
菜单项模型
public function SubCategories() {
return $this->belongsTo(SubCategory::class, 'sub_category_id');
}
【问题讨论】:
-
可以添加关系吗?
-
@iamab.in 我已经用关系更新了问题
-
你如何查询得到
$menuitemlist?? -
@zahidhasanemon 嘿伙计,实际上我将它传递给带有分页和搜索参数
'menuitemlist' => MenuItem::where('item_name','like', $searchParams)->latest()->paginate(5)的视图。这是上面的查询,如果你的意思是这样的话。 -
在这种情况下,某些菜单的子类别可能相同。那会发生什么?您想为同一子类别制作两个或更多选择选项吗??