public function toArray()

in app/Http/Controllers/Resources/StatsResource.php [9:36]


    public function toArray($request): array
    {
        $products = $this->get('products');
        $customers = $this->get('customers');
        $orders = $this->get('orders');

        $revenue = 0;
        $cost = 0;
        $profit = 0;

        // Special created problem n+1
        foreach ($products as $product){
            $revenue += $product->orderLines->sum('amount') * $product->selling_price;
            $cost += $product->orderLines->sum('amount') * $product->cost;
            $profit += $product->orderLines->sum('amount') * ($product->selling_price - $product->cost);
        }

        return [
            'products' => $products->count(),
            'customers' => $customers->count(),
            'orders' => $orders->count(),
            "numbers" => [
                "profit" => $profit,
                "revenue" => $revenue,
                "cost" => $cost
            ],
        ];
    }