Я пытаюсь получить метаданные объекта, когда я это делаю:
$entityMetadata = $this->validator->getMetadataFactory()->getMetadataFor('Acme\DemoBundle\Entity\Post');
Все работает нормально, но когда я это делаю:
$entityMetadata = $this->validator->getMetadataFactory()->getMetadataFor($formData);
$formData
равная string 'Acme\DemoBundle\Entity\Post' (length=27)
У меня ошибка:
Cannot create metadata for non-objects. Got: NULL
Что я делаю неправильно? Может кто-нибудь мне помочь? Благодарю!
Согласно сигнатуре getMetadataFor (http://www.doctrine-project.org/api/orm/2.3/class-Doctrine.ORM.Mapping.ClassMetadataFactory.html), вы должны передать строку. Может быть, вы должны попробовать что-то вроде:
$entityMetadata = $this->validator->getMetadataFactory()->getMetadataFor(get_class($formData));