Привет, каждый, у меня есть объект под названием Vente, этот объект связан с другим, называемым VenteAdd, с отношением ManyToOne (один Vente имеет один или несколько VenteAdd, а каждый VenteAdd связан только с одним Vente) в классе объектов vente. СвойствоventeAdd объявляется как сущность venteAdd как обычно Doctrine, а в конструкторе сущность venteAdd инициализируется как ArrayCollection.когда угловой клиент 7 отправляет объект Vente, атрибут ventAdd является массивом VenteAdd, когда я пытаюсь десериализовать объект vente с помощью сериализатора Symfony, у меня появляется ошибка
Не удалось денормализовать значение атрибута "_vente_add" длякласс "App \ Entity \ Vente": ожидаемый аргумент типа "App \ Entity \ VenteAdd", "массив", заданный в пути свойства "_vente_add"
У меня есть набор и функции get venteAdd вмоя сущность vente и paremters являются коллекцией. Может кто-нибудь помочь мне, пожалуйста, мой код: VenteController
$data = $request->getContent();
$data = $this->nativeSerializer->deserialize($data,'App\Entity\Vente', 'json');
инициализация сериализатора в конструкторе venteContoller:
$dateCallback = function ($innerObject, $outerObject, string $attributeName, string $format = null, array $context = []) {
return $innerObject instanceof \DateTime ? $innerObject->format(\DateTime::ISO8601) : '';
};
$defaultContext = [
AbstractNormalizer::CIRCULAR_REFERENCE_HANDLER => function ($object, $format, $context) {
return $object->getId();
},
AbstractNormalizer::CALLBACKS => [
'dateVente' => $dateCallback,
'dateEntree'=>$dateCallback,
],
];
$normalizer = new ObjectNormalizer(null,null,null,null,null,null,$defaultContext);
$this->nativeSerializer = new Serializer([$normalizer,new ArrayDenormalizer()], [new JsonEncoder()]);
сущность Vente
Декларация доктрины:
/**
* @ORM\OneToMany(targetEntity="App\Entity\VenteAdd", mappedBy="vente")
*/
private $VenteAdd;
Конструктор:
public function __construct()
{
$this->VenteAdd = new ArrayCollection();
}
Получатель и установщик:
/**
* @return Collection|VenteAdd[]
*/
public function getVenteAdd(): Collection
{
return $this->VenteAdd;
}
/**
* @param Collection|VenteAdd[]
* @return self
*/
public function setVenteAdd(ArrayCollection $venteAdd): self
{
$this->VenteAdd = $venteAdd;
return $this;
}
Пожалуйста, помогите мне, спасибо ...