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')),
];
}
}