Допустим, у меня есть этот XML
<?xml version="1.0" encoding="UTF-8"?>
<Order>
<InvoiceNumber>201902130420</InvoiceNumber>
<Products>
<Product>
<Name>DaVinci IQ</Name>
<SKU>420342300</SKU>
</Product>
<Product>
<Name>Mighty</Name>
<SKU>420342305</SKU>
</Product>
</Products>
</Order>
и я хочу десериализовать данный XML в существующий объект "Order", содержащий набор Product-Entities со всеми подузлами вСвойство заказа $ products.
Когда я вызываю
$order = $this->serializer->deserialize($xmlContent, Order::class, 'xml');
, я получаю объект Order с параметрами из XML, и мое свойство $ products заполняется элементами массива.
Однако, хотя я хотел бы иметь набор Product [] - Entities в моем результирующем объекте Order, мое $ products-свойство заполняется плоским массивом, содержащим значения продукта.
Другими словами: я бы хотел, чтобы итоговый $ ордер выглядел так:
App\Model\Order {
-InvoiceNumber: "201902130420"
-products: array:2 [
0 => App\Model\Product {
-Name: DaVinci IQ
-SKU: 420342300
}
1 => App\Model\Product {
-Name: Mighty
-SKU: 420342305
}
]
}
Но вместо этого я получаю:
App\Model\Order {
-InvoiceNumber: "201902130420"
-products: array:2 [
"Product" => array:2 [
"Name" => "DaVinci IQ"
"SKU" => "420342300"
]
"Product" => array:2 [
"Name" => "Mighty"
"SKU" => "420342305"
]
]
}
Может кто-нибудь помочь?