我正在嘗試創(chuàng)建一個(gè)多重過濾函數(shù)來過濾我的表。我有一個(gè)名為 Product 的模型,它有名為 categories、colors 和 sizes 的集合。我有以下觀點(diǎn): <div class="col-6"> <div class="form-group mt-3"> <label>{{ __('Categories') }}</label> <select class="form-control" id="select-categories"> <option value="0">All</option> @foreach($categories as $category) <option value="{{ $category->id }}">{{ $category->name }}</option> @endforeach </select> </div> </div> <div class="col-6"> <div class="form-group mt-3"> <label>{{ __('Colors') }}</label> <select class="form-control" id="select-colors"> <option value="0">All</option> @foreach($colors as $color) <option value="{{ $color->id }}">{{ $color->name }}</option> @endforeach </select> </div> </div> <div class="col-6"> <div class="form-group mt-3"> <label>{{ __('Sizes') }}</label> <select class="form-control" id="select-sizes"> <option value="0">All</option> @foreach($sizes as $size) <option value="{{ $size->id }}">{{ $size->name }}</option> @endforeach </select> </div> </div>然后我使用 JQuery 將 AJAX 請(qǐng)求發(fā)送到我的控制器,其中包含所有三個(gè)下拉列表的當(dāng)前選定選項(xiàng)值。示例數(shù)據(jù):類別:所有顏色:紅色尺碼:小號(hào)現(xiàn)在我想展示紅色和小號(hào)的產(chǎn)品,但類別無關(guān)緊要。我通過使用一對(duì)多關(guān)系和鏈接表來獲取集合。$product->categories$product->colors$product->sizes我不確定如何處理這個(gè)問題。
1 回答

慕容森
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
你可以做類似下面的事情:
public function index(ProductRequest $request)
{
$query = Product::where($request->validated());
return ProductResource::collection($query);
}
在您的 ProductRequest 中,您可以定義要允許的過濾器
class ProductRequest extends FormRequest
{
...
public function rules()
{
return [
'categories' => 'exists:categories,id'
....
];
}
- 1 回答
- 0 關(guān)注
- 103 瀏覽
添加回答
舉報(bào)
0/150
提交
取消