ör:filitreden renk seçtiler
?variant_tipi=product_option&variant_tipi=product_ option
- variant_tipi renk olsun diyelim renk in slug benzersiz değer yapalım ona --- filitreden seçilen renk in id sini alalım
?renk_slug=kırmızı
?renk=1
olarak get ile sorgu gönderebilirsin
controller den sorgu yaptığın yerde ise get ile gelen verileri süzdürebilirsin
$filitre = array('renk',)// filitreden gelen sadece bu değerleri where yapsın diye koruma
foreach ($filitre as $key => $value) {
if(isset($option)){
$option = ProductOption:where($value, $_GET[$value]);
}else{
if(isset($_GET[$value])){
$option->where($value, $_GET[$value]);
}
}
}
$gelen_option = $option->get();
foreach($gelen_optionas as $produc){
$produc_ids[] = $produc['ProductID']
}burada filitrelere uyan ürünlerin id lerini elde ettik gelen id leri ürünler tablosunda wherein ile sorgutalım
$urunler = Product:whereIn($id,$produc_ids)->get();
yazdıklarınızdan anladığım kadar aklımda kurduğum mantık
filitrelerin id lerini ortak tabloda aratarak gelen ürünlerin id lerinide ürünler tablosundan whereIn ile aratın