CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

18 May, 2022

multiple orderby sorting with pagination in laravel not working

 Programing Coderfunda     May 18, 2022     Laravel, php     No comments   

 I wrote the code snippet inside my Laravel controller and I want to sort the products by product number first and then sort the previously sorted products by inventory. My problem is that the first sort is executed inside the written command but the second sort does not happen. My code snippet is as follows:

DB::statement("SET SQL_MODE=''");//this is for fix groupby error!
        $productdetail = Sa_product::leftJoin('sa_product_allproperties', 'sa_products.productid', 'sa_product_allproperties.product_id')->where('sa_products.product_status', '1');
        if (isset($data['static']) && $data['static']['search_products'] != '') {
            $search_word = $data['static']['search_products'];
            DB::statement("SET SQL_MODE=''");//this is for fix groupby error!
            $exploded_word = explode(',', $search_word);
            $counter = 0;
            $productdetail = $productdetail->where(function ($q) use ($exploded_word, $counter) {
                $counter = 0;
                foreach ($exploded_word as $word) {
                    if ($counter == 0) {
                        $q->where('sa_products.title', 'LIKE', "%{$word}%");
                    } else {
                        $q->orwhere('sa_products.title', 'LIKE', "%{$word}%");
                    }
                    $counter++;
                }
            });

        }
        $data['staticcats'] = explode(',', $data['static']['product_cats']);
        if (isset($data['static']) && $data['static'] != '') {
            $explodecats = explode(',', $data['static']['product_cats']);
            unset($explodecats[0]);
            array_pop($explodecats);
        } else {
            $explodecats = [];
        }
        if (isset($explodecats) && $explodecats != []) {
            $counter = 0;
            $productdetail = $productdetail->where(function ($q1) use ($explodecats, $counter) {
                $counter = 0;
                foreach ($explodecats as $cats) {
                    if ($counter == 0) {
                        $q1->where('sa_products.catid', 'LIKE', "%,{$cats},%");
                    } else {
                        $q1->orWhere('sa_products.catid', 'LIKE', "%,{$cats},%");
                    }
                    $counter++;
                }
            });
            $productdetail = $productdetail->orderBy('visited_counter', 'DESC');
        }
        $data['staticcats'] = explode(',', $data['static']['product_brands']);
        if (isset($data['static']) && $data['static'] != '') {
            $explodebrands = explode(',', $data['static']['product_brands']);
            unset($explodebrands[0]);
            array_pop($explodebrands);
        } else {
            $explodebrands = [];
        }
        if (isset($explodebrands) && $explodebrands != []) {
            $counter = 0;
            $productdetail = $productdetail->where(function ($q2) use ($explodebrands, $counter) {
                $counter = 0;
                foreach ($explodebrands as $brands) {
                    if ($counter == 0) {
                        //$q1->where('brand_id','LIKE', "%,{$brands},%");
                        $q2->where('sa_products.brand_id', "{$brands}");
                    } else {
                        //$q1->orWhere('brand_id','LIKE', "%,{$brands},%");
                        $q2->orWhere('sa_products.brand_id', "{$brands}");
                    }
                    $counter++;
                }
            });
        }
        $productdetail = $productdetail->orderBy('sa_products.productid','DESC')->orderBy('sa_product_allproperties.stock_count','DESC')->groupBy('sa_products.productid')->paginate(20);
        if (isset($productdetail) && $productdetail->count()>0)
        {
            $data['searched_products'] = $productdetail;
        }

After executing the above code, the received products are sorted by product number, ie the orderBy('sa_products.productid', 'DESC') occurs, but the second sorting is done with the orderBy('sa_product_allproperties.stock_count', 'DESC') Which is not run for inventory sorting.

Can anyone help me solve this problem?

  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook

Related Posts:

  • Join multiple table laravel $users = DB::table('users')            ->join('contacts', 'users.id', '=', 'contacts.u… Read More
  • Ajax LARAVEL 419 POST error QuestionI would really appreciate some help on this. I tried tons of solutions as posted in this forum, but I cannot get it to work.My ajax call… Read More
  • How to display data from two tables in laravel $users = DB::table('users')            ->join('contacts', 'users.id', '=', 'contacts.u… Read More
  • Validation of Email Exsist or Not Live with ajax in laravel Route: Route::match(['get','post'],'/validate/restraunt-email','backEnd\AuthController@check_admin_email');Controller : public function check_ad… Read More
  • php 7.4 xampp Trying to access array offset on value of type nullPhp 7.4 xampp Trying to access array offset on value of type null I m working with lravel 7 project before i used to work with xampp 7.3.21 / PHP… Read More
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Spring boot app (error: method getFirst()) failed to run at local machine, but can run on server
    The Spring boot app can run on the online server. Now, we want to replicate the same app at the local machine but the Spring boot jar file f...
  • Log activity in a Laravel app with Spatie/Laravel-Activitylog
      Requirements This package needs PHP 8.1+ and Laravel 9.0 or higher. The latest version of this package needs PHP 8.2+ and Laravel 8 or hig...
  • Vue3 :style backgroundImage not working with require
    I'm trying to migrate a Vue 2 project to Vue 3. In Vue 2 I used v-bind style as follow: In Vue 3 this doesn't work... I tried a...
  • Laravel auth login with phone or email
          <?php     Laravel auth login with phone or email     <? php     namespace App \ Http \ Controllers \ Auth ;         use ...
  • Enabling authentication in swagger
    I created a asp.net core empty project running on .net6. I am coming across an issue when I am trying to enable authentication in swagger. S...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh - 9/21/2024
  • pyspark XPath Query Returns Lists Omitting Missing Values Instead of Including None - 9/20/2024
  • SQL REPL from within Python/Sqlalchemy/Psychopg2 - 9/20/2024
  • MySql Explain with Tobias Petry - 9/20/2024
  • How to combine information from different devices into one common abstract virtual disk? [closed] - 9/20/2024

Laravel News

  • Locale-aware Number Parsing in Laravel 12.15 - 5/21/2025
  • Handle Fluent Values as Arrays with Laravel's array() Method - 5/18/2025
  • Chargebee Starter Kit for Billing in Laravel - 5/20/2025
  • Streamline Pipeline Cleanup with Laravel's finally Method - 5/18/2025
  • Validate Controller Requests with the Laravel Data Package - 5/19/2025

Copyright © 2025 CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda