src/Traits/ShopCalculationsTrait.php
private function runCalculations()
    {
        if (!empty($this->shopCalculations)) return $this->shopCalculations;
        $cacheKey = $this->calculationsCacheKey;
        if (Config::get('shop.cache_calculations')
            && Cache::has($cacheKey)
        ) {
            $this->shopCalculations = Cache::get($cacheKey);
            return $this->shopCalculations;
        }
        $this->shopCalculations = DB::table($this->table)
            ->select([
                DB::raw('sum(' . Config::get('shop.item_table') . '.quantity) as itemCount'),
                DB::raw('sum(' . Config::get('shop.item_table') . '.price * ' . Config::get('shop.item_table') . '.quantity) as totalPrice'),
                DB::raw('sum(' . Config::get('shop.item_table') . '.tax * ' . Config::get('shop.item_table') . '.quantity) as totalTax'),
                DB::raw('sum(' . Config::get('shop.item_table') . '.shipping * ' . Config::get('shop.item_table') . '.quantity) as totalShipping')
            ])
            ->join(
                Config::get('shop.item_table'),
                Config::get('shop.item_table') . '.' . ($this->table == Config::get('shop.order_table') ? 'order_id' : $this->table . '_id'),
                '=',
                $this->table . '.id'
            )
            ->where($this->table . '.id', $this->attributes['id'])
            ->first();
        if (Config::get('shop.cache_calculations')) {
            Cache::put(
                $cacheKey,
                $this->shopCalculations,
                Config::get('shop.cache_calculations_minutes')
            );
        }
        return $this->shopCalculations;
    }
private function runCalculations()
    {
        if (!empty($this->shopCalculations)) return $this->shopCalculations;
        $cacheKey = $this->calculationsCacheKey;
        if (Config::get('shop.cache_calculations')
            && Cache::has($cacheKey)
        ) {
            $this->shopCalculations = Cache::get($cacheKey);
            return $this->shopCalculations;
        }
        $this->shopCalculations = DB::table($this->table)
            ->select([
                DB::raw('sum(' . Config::get('shop.item_table') . '.quantity) as itemCount'),
                DB::raw('sum(' . Config::get('shop.item_table') . '.price * ' . Config::get('shop.item_table') . '.quantity) as totalPrice'),
                DB::raw('sum(' . Config::get('shop.item_table') . '.tax * ' . Config::get('shop.item_table') . '.quantity) as totalTax'),
                DB::raw('sum(' . Config::get('shop.item_table') . '.shipping * ' . Config::get('shop.item_table') . '.quantity) as totalShipping')
            ])
            ->join(
                Config::get('shop.item_table'),
                Config::get('shop.item_table') . '.' . ($this->table == Config::get('shop.order_table') ? 'order_id' : $this->table . '_id'),
                '=',
                $this->table . '.id'
            )
            ->where($this->table . '.id', $this->attributes['id'])
            ->first();
        if (Config::get('shop.cache_calculations')) {
            Cache::put(
                $cacheKey,
                $this->shopCalculations,
                Config::get('shop.cache_calculations_minutes')
            );
        }
        return $this->shopCalculations;
    }
private function runCalculations ( ) { if ( ! empty ( $ this -> shopCalculations ) ) return $ this -> shopCalculations ; $ cacheKey = $ this -> calculationsCacheKey ; if ( Config :: get ( 'shop.cache_calculations' ) && Cache :: has ( $ cacheKey ) ) { $ this -> shopCalculations = Cache :: get ( $ cacheKey ) ; return $ this -> shopCalculations ; } $ this -> shopCalculations = DB :: table ( $ this -> table ) -> select ( [ DB :: raw ( 'sum(' . Config :: get ( 'shop.item_table' ) . '.quantity) as itemCount' ) , DB :: raw ( 'sum(' . Config :: get ( 'shop.item_table' ) . '.price * ' . Config :: get ( 'shop.item_table' ) . '.quantity) as totalPrice' ) , DB :: raw ( 'sum(' . Config :: get ( 'shop.item_table' ) . '.tax * ' . Config :: get ( 'shop.item_table' ) . '.quantity) as totalTax' ) , DB :: raw ( 'sum(' . Config :: get ( 'shop.item_table' ) . '.shipping * ' . Config :: get ( 'shop.item_table' ) . '.quantity) as totalShipping' ) ] ) -> join ( Config :: get ( 'shop.item_table' ) , Config :: get ( 'shop.item_table' ) . '.' . ( $ this -> table == Config :: get ( 'shop.order_table' ) ? 'order_id' : $ this -> table . '_id' ) , '=' , $ this -> table . '.id' ) -> where ( $ this -> table . '.id' , $ this -> attributes [ 'id' ] ) -> first ( ) ; if ( Config :: get ( 'shop.cache_calculations' ) ) { Cache :: put ( $ cacheKey , $ this -> shopCalculations , Config :: get ( 'shop.cache_calculations_minutes' ) ) ; } return $ this -> shopCalculations ; }
Runs calculations.
Runs calculations .