Wednesday, September 15, 2021

Larvel Related Quick Information

Laravel Sub Query:

$data = DB::table("products")

          ->select("products.*",

                    DB::raw("(SELECT SUM(products_stock.stock) FROM products_stock

                                WHERE products_stock.product_id = products.id

                                GROUP BY products_stock.product_id) as product_stock"),

                    DB::raw("(SELECT SUM(products_sell.sell) FROM products_sell

                                WHERE products_sell.product_id = products.id

                                GROUP BY products_sell.product_id) as product_sell"))

          ->get();

MySQL Sub Query:

SELECT 

 products.*, 

 (SELECT SUM(products_stock.stock) FROM products_stock

   WHERE products_stock.product_id = products.id

   GROUP BY products_stock.product_id) as product_stock,

 (SELECT SUM(products_sell.sell) FROM products_sell

   WHERE products_sell.product_id = products.id

   GROUP BY products_sell.product_id) as product_sell

FROM `products`

*******************************************************

Another Way of getting stock counts:

$selfStocks=DB::table('stocks')

              ->select(DB::raw("COUNT(id) AS self_stock_count"))

              ->where('stock_cre_user_id','=',$user_id)

              ->get()->toArray();

******************************************************

How to print last query in laravel?

Before executing the below function please verify and give the permission 777 for these 2 folders "storage"(Mandatory) and "bootstrap"(Non Mandatory)

public function printQuery(){

        $query = DB::getQueryLog();

        $lastQuery = end($query);

        print_r($lastQuery);

}

echo "<pre>"; print_r($this->printQuery());die;

****************************************************


No comments:

Post a Comment