• 14-07-2022, 22:16:01
    #1
    laravel de ürün bilgilerini sıralama fonksiyonu içinde nasıl çekebilirim ya da aşağıda bahsettiğimi başka nasıl yapabilirim

    db den olmayan bi puanlama sistemi var normalde pure php kullanırken şu şekilde yapıyordum;
    Ürünleri çek,
    ürün özelliklerini array e eşitle,
    array de puan adında yeni bir indis oluştur,
    ürün sıralamasını puan a göre büyükten küçüğe yap

    ama bunu laravel de yapamıyorum alaka olarak geçen bi ürün sıralaması var normalde orderby id yapıyor bunu bahsettiğim şekle dönüştürmek istiyorum ama ürünleri nasıl çekip array e atabilirim bunu bulamadım yardımcı olabilecek var mı sıralama vs kısımlarını ben yazabilirim php bilgim var ancak laravel de ürünleri bir türlü çekemedim

    örnekle anlatmak gerekirse
    ürün bilgisi çekildi array e atıldı,
    çekilen ürün bilgisine göre her ürüne puan verildi örneğin 1. ürün 6, 2. ürün 5, 3. ürün 8 puan
    ürün sıralaması değiştirildi ekrana artık ilk 3. ürün sonra 1. ürün sonra 2. ürün basılcak
  • 14-07-2022, 22:52:21
    #2
    
    $products = Product::all();
    $products_list = $products->toArray();
    
       foreach($products_list  as &$item){
    /*
    yapılacak işlemler
    */
                $item['puan'] = rand(1,15);
            }
    
           $keys = array_column($products_list , 'puan');
    
            array_multisort($keys, SORT_DESC, $products_list );
    
            return view('front.homepage',compact('products_list'));
  • 16-07-2022, 11:30:38
    #3
    dev
    Kurumsal Üye
    Aeknasd145 adlı üyeden alıntı: mesajı görüntüle
    laravel de ürün bilgilerini sıralama fonksiyonu içinde nasıl çekebilirim ya da aşağıda bahsettiğimi başka nasıl yapabilirim

    db den olmayan bi puanlama sistemi var normalde pure php kullanırken şu şekilde yapıyordum;
    Ürünleri çek,
    ürün özelliklerini array e eşitle,
    array de puan adında yeni bir indis oluştur,
    ürün sıralamasını puan a göre büyükten küçüğe yap

    ama bunu laravel de yapamıyorum alaka olarak geçen bi ürün sıralaması var normalde orderby id yapıyor bunu bahsettiğim şekle dönüştürmek istiyorum ama ürünleri nasıl çekip array e atabilirim bunu bulamadım yardımcı olabilecek var mı sıralama vs kısımlarını ben yazabilirim php bilgim var ancak laravel de ürünleri bir türlü çekemedim

    örnekle anlatmak gerekirse
    ürün bilgisi çekildi array e atıldı,
    çekilen ürün bilgisine göre her ürüne puan verildi örneğin 1. ürün 6, 2. ürün 5, 3. ürün 8 puan
    ürün sıralaması değiştirildi ekrana artık ilk 3. ürün sonra 1. ürün sonra 2. ürün basılcak
    Eloquent ile cektigin data collection olarak geliyor. Collection methodlari ile istedigini rahatca yaparsin
    https://laravel.com/docs/9.x/collections
  • 18-07-2022, 20:14:12
    #4
    Söylediklerinizi SQL tarafında yapabilirsiniz. Eloquent ile zaten veriyi çektiğinde array olarak gelmekte. Yeni bir indis oluştur demişsiniz ancak Puan değerini nereden gelmekte?
  • 19-07-2022, 00:51:19
    #5
    dinarbey adlı üyeden alıntı: mesajı görüntüle
    Söylediklerinizi SQL tarafında yapabilirsiniz. Eloquent ile zaten veriyi çektiğinde array olarak gelmekte. Yeni bir indis oluştur demişsiniz ancak Puan değerini nereden gelmekte?
    yaptım hocam, puan değeri sabit değil formdan gelen sonuca göre hesaplayan bir algoritma var, o yüzden sql e kaydedemiyordum, teşekkürler yine de çözüldü sorun