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);
}