Dumplie\Customer\Infrastructure\Doctrine\ORM\Type\Domain\OrderItemsType::convertToDatabaseValue PHP Method

convertToDatabaseValue() public method

public convertToDatabaseValue ( CartItem[] $value, Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : array | string
$value CartItem[]
$platform Doctrine\DBAL\Platforms\AbstractPlatform
return array | string
    public function convertToDatabaseValue($value, AbstractPlatform $platform)
    {
        if (is_null($value)) {
            return [];
        }
        if (!is_array($value)) {
            throw ConversionException::conversionFailed($value, $this->getName());
        }
        $data = [];
        foreach ($value as $item) {
            if (!$item instanceof OrderItem) {
                throw ConversionException::conversionFailed($value, $this->getName());
            }
            $data[] = ['sku' => (string) $item->sku(), 'price' => ['amount' => $item->price()->amount(), 'currency' => $item->price()->currency(), 'precision' => $item->price()->precision()], 'quantity' => $item->quantity()];
        }
        return json_encode($data);
    }