Merhaba iyi forumlar, bazı konuları araştırma yaptım ama bir sonuç bulamadım o yüzden bi kaç soru sormak istiyorum.
Sorum şu :
Örnek Filtreleme
-XL,L
-Kırmızı,Sarı,Yeşil
mesela ben xl ve l bedende 3 renkde olanları listelemek istiyorum
burda L-KIRMIZI da XL-Yeşilde Görüntülenmesi gerek mantıken
Kısaca : XL veya L ve KIRMIZI, SARI VEYA YEŞİL OLANLARI listeletmek istiyorum
Gerekli bilgiler:
urun:
------------------
| id | baslik |
------------------
| 1 | t-shirt |
------------------
varyasyon:
------------------------------
| id | baslik
------------------------------
| 1 | Beden
------------------------------
| 2 | Boyut
------------------------------
| 3 | Renk
----------------------------
varyasyon_ozellik:
---------------------------------------------
| id | varyasyon_id | baslik | deger |
---------------------------------------------
| 1 | 1 | XL |
---------------------------------------------
| 2 | 1 | L |
----------------------------------------------
| 3 | 3 | Kırmızı | red (renk kodu)
---------------------------------------------
| 4 | 3 | Sarı | yellow (renk kodu)
----------------------------------------------
urun_varyasyon_pivot:
----------------------------------------------------------------------
| id | urun_id | varyasyon_id |
-----------------------------------------------------------------------
-Hangi varyasyon hangi özellik bulmak için
urun_varyant:
-----------------------------------------------
| id | urun_id | urun_kodu | fiyat | adet |...
------------------------------------------------
| 1 | 1 | P1-XL-KIRMIZI | 140 | 5 |
------------------------------------------------
| 2 | 1 | P1-XL-SARI | 140 | 10 |
------------------------------------------------
| 3 | 2 | P2-L-KIRMIZI | 160 | 8 |
------------------------------------------------
| 4 | 2 | P2-XL-KIRMIZI | 160 | 15 |
urun_varyant_pivot:
----------------------------------------------------------------------
| id | urun_id | varyasyon_id | varyasyon_ozellik_id | urun_varyant_id |
-----------------------------------------------------------------------
| 1 | 1 | 1 | 1 | 1 |
-----------------------------------------------------------------------
| 2 | 1 | 3 | 3 | 1 |
-----------------------------------------------------------------------
| 3 | 1 | 3 | 4 | 1 |
-----------------------------------------------------------------------
| 4 | 2 | 1 | 2 | 3 |
-----------------------------------------------------------------------
| 5 | 2 | 3 | 3 | 3 |
-----------------------------------------------------------------------
| 6 | 2 | 1 | 1 | 4 |
-----------------------------------------------------------------------
| 7 | 2 | 3 | 3 | 4 |
-----------------------------------------------------------------------
ben blade sayfamda javascript ile seçilenleri belirliyorum ajax ile controllere gönderiyorum
controller sayfamda ise şöyle bir kod deniyorum ama veriler gelmiyor
en son denemem şöyle birçok şey denedim ama mantıgı kuramadım tamda burda yardımınızı istiyorum
$urunArray = array(15,16); //beden seçimi
$urunArray2 = array(13,15); //renk seçimi
$qb = Urun::query();
$qb->select('urun_varyant_pivot.urun_id')
->join('urun_varyant_pivot', 'urun_varyant_pivot.urun_id', '=', 'urun.id');
$qb->whereIn('urun_varyant_pivot.urun_varyasyon_ozellik_id',$urunArray)
->whereIn('urun_varyant_pivot.urun_varyasyon_ozellik_id',$urunArray2);
$data = $qb->get();
Daha Basit olarak
$getir = UrunVaryantPivot::query();
$getir->whereIn('urun_varyasyon_ozellik_id',$urunArray)
->whereIn('urun_varyasyon_ozellik_id',$urunArray2)->get();
Örnek Filtreleme
-XL,L
-Kırmızı,Sarı,Yeşil
//tek whereIn de toplamıyorum çünkü XL veya L ve KIRMIZI, SARI VEYA YEŞİL OLANLARI listeletmek istiyorum
XL ile Kırmızı XL ile Sarı gibi