HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/app/Orders/Resources/OrderedProductComposite.php
<?php

namespace App\Orders\Resources;

use App\Products\ProductComposite\ProductCompositeResource;
use App\Products\ProductGroup\ProductGroupResource;
use Illuminate\Http\Resources\Json\Resource;
use Komma\KMS\Globalization\RegionInfoInterface;

class OrderedProductComposite extends Resource
{
    /** @var RegionInfoInterface */
    private $regionInfo;

    /**
     * Order constructor.
     * @param $resource
     */
    public function __construct($resource)
    {
        $this->regionInfo = app(RegionInfoInterface::class);
        parent::__construct($resource);
    }

    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'price' => $this->price,
            'price_formatted' => $this->regionInfo->getNumberFormat()->centsToCurrency($this->price, false, false),
            'order_id' => $this->order_id,
            'active' => $this->active,
            'quantity' => $this->quantity,
            'discount' => $this->discount,
            'productComposite' => $this->whenLoaded('productComposite', new ProductCompositeResource($this->productComposite)),
            'orderedGroups' => OrderedProductGroup::collection($this->whenLoaded('orderedGroups')),
            'groups' => ProductGroupResource::collection($this->whenLoaded('groups')),
        ];
    }
}