v2.5.2
Giriş yap

Laravel Ecommerce sitesi - Ürün filtreleme mantığı

Anonim
558 defa görüntülendi

Merhaba Arkadaşlar

Projelerimi hep laravel ile yazarım, fakat hep ürün filtreleme konusunda sıkıntı çekiyorum.

Bu defa product ları 2 table olarak ayırdım
1-ci table (products) da ürünün esas göstericileri (name, category, brand, image, images ve s.)
2-ci table (productdetails) da ürünün teknik göstericileri (cpu_gen, cpu_speed ve s.)

Şimdi ben shop sayfasında ürünü ilk önce kateqoriye göre getiricem. Daha sonra ürünleri teknik göstericilerine göre nasıl filtreleye bilirim?

Ayrıca böyle yapmak mantıklı mı? mantıkli degilse en iyi filtreleme mantığı nasıl?

Azerbaycanlı olduğum için kendimi ifade edemeye, türkçemde sıkıntı ola bilir, şimdiden özür dilerim.

Önceden teşekkürler

munzevi
907 gün önce

merhaba,

yeterince net kendini ifade etmişsin, soru da aslında güzel bir soru. filtreleme... başta kafa karıştırıcı bir olay gibi gelebilir, en basit yöntemiyle aldığın veriyle bazı php koşulları yazarsın, sonra dersin ki ben bunu veritabanında yapayım. bu sefer sunucuda sql koşulları çalıştırırsın, ama ne gerek var?

Ayrıca böyle yapmak mantıklı mı? mantıkli degilse en iyi filtreleme mantığı nasıl?

odaklanman gereken nokta bu, mantıklı mı, değilse alternatif en iyi yöntem nedir?

öncelikle filtreleme için sunucuda alternatif komutlar oluşturmak, zaten daha önceden aldığın bir veriyi tekrar tekrar farklı şekillerde işleyeceğin için performans, maliyet ve kullanılabilirlik açısından uygun değil. elinde zaten mevcutta bir veri olduğu için bu noktada tekrar sunucuya başvurmak yerine yenilenen veriler oluşturmak yerine, mevcut veriyi kullanmalıyız. peki bu nu nasıl yapabilirsin, tabi ki javascript ile.

<div clas="urun">
    <div class="info">
        <!-- çeşitli ürün bilgileri -->
    </div>
</div>

elimizde buna benzer bir ürün bloğu olduğunu varsayalım, bu tarz bir senaryoda sıralama için sunucu tarafından yanıtın böyle verilmesi gerekir. peki ya ürün için gereken bilgileri küçük nitelikler halinde yapı içerisine koysak?

<div clas="urun" data-renk="0" data-stok="22" data-urunkodu="LA241">
    <div class="info">
        <!-- artık burada ürün bilgileri olmasına gerek yok -->
    </div>
</div>

şimdi geriye ne kalıyor? renge göre mi sıralayacağız ya da sadece belirli renge göre mi ürünleri göstereceğiz? eşleşen niteliklerin tümünü bir dizi olarak seçeriz ve ister yeniden sıralarız, ister gizler, ister gösteririz. bu kadar : )