У меня есть это исключение при попытке преобразовать массив в объект с ассоциациями.
В Контакте сущность строится с сущностью Компании.
ИСКЛЮЧЕНИЕ:
Ключ кэша «pAppBundle \ Entity \ Companyid» содержит зарезервированные символы {} () / \ @:
контроллер:
class ContactController extends AbstractController
{
public function newAction(Request $request, Company $company, DenormalizerInterface $denormalizer)
{
$data = $request->get('contact');
$data['company'] = $company;
$denormalizer->denormalize($data, Contact::class);
}
}
Юридическая компания:
class Company {
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
private $id;
/**
* @ORM\Column(type="string", name="name")
*/
private $name;
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Contact", mappedBy="company", cascade={"ALL"})
*/
private $contacts;
}
Контакт юридического лица:
class Contact {
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
private $id;
/**
* @ORM\Column(type="string", name="text")
*/
private $text;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Company", inversedBy="contacts")
* @ORM\JoinColumn(name="company_id", referencedColumnName="id")
*/
private $company;
public function __construct(Company $company)
{
$this->company = $company;
$this->files = new \Doctrine\Common\Collections\ArrayCollection();
}
}
Задача ещё не решена.
Других решений пока нет …