Salut à tous,
Voilà j'ai une relation OneToOne Unidirectionnel entre deux entitiés : rubrique & image.
Cependant je souhaite un argument modulable pour l'entité inverse : Image (je veux un path différent) du coup j'ai créer un constructor et passe par la fonction : setDefaultOptions du formType associé pour passer la variable ainsi cela donne çà :
buildForm du formType de l'entité Rubrique :
1 2 3 4 5 6 7
| public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nom')
->add('image', new ImageType('rubrique'), array('required' => true))
;
} |
setDefaultOptions du formType de l'entité Image :
use Echyzen\NewsBundle\Entity as Entity;
1 2 3 4 5 6
| public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'empty_data' => new Entity\Image($this->someDependency),
));
} |
Et le constructeur de l'entité image :
1 2 3 4 5 6 7 8 9
| public function __construct($path = null) {
if(empty($path)) $this->path = '';
else {
$this->path = $path;
}
} |
Alors bien sûr avant que je rajoute çà tout fonctionnait mais plus maintenant au moment de la soumission j'ai ce genre d'erreur :
Index "file" cannot be read from object of type "Echyzen\NewsBundle\Entity\Image" because it doesn't implement \ArrayAccess
Il faut dire un truc les erreur remonter par symfony sont incompréhensible pour l'être humain moyen XD
Si quelqu'un a une piste ou a déjà été voulu faire un truc comme moi mais a trouver une autre solution pour rendre modulable une entité?
Merci d'avance de votre réponse
Partager