*w inversed by i mapped by dałem złe wartości (literówki)
Mam dwie klasy w Entity
FormDefinition oraz FormFieldDefinition.
Każdy FormDefinition "posiada" kilka FormFieldDefinition's
FormDefiniton, to formularz. A FormFieldDefinition to pole (input/textarea/select itp) które do FormDefinition należy.
W kontrolerze mam :
$formDefinition = $this->getDoctrine()->getRepository('AdmFormBundle:FormDefinition') ->find($id); { throw $this->createNotFoundException('Formularz o podanym ID nie istnieje'); } $formFieldDefinitions = $formDefinition->getFormFieldDefinitions(); exit;
Co zwraca mi Doctrine\ORM\PersistentCollection. Czemu nie ArrayCollection ? Gdzie może być błąd i jak go naprawić ?
W Entity/FormDefinition mam :
public function __construct() { $this->formFieldDefinitions = new ArrayCollection(); } (...) /** * Add formFieldDefinitions * * @param Adm\FormBundle\Entity\FormFieldDefinition $formFieldDefinitions */ public function addFormFieldDefinition(\Adm\FormBundle\Entity\FormFieldDefinition $formFieldDefinitions) { $this->formFieldDefinitions[] = $formFieldDefinitions; } /** * Get formFieldDefinitions * * @return Doctrine\Common\Collections\Collection */ public function getFormFieldDefinitions() { return $this->formFieldDefinitions; }
Gdy używam metody toArray() dostaje błąd :
Kod
Notice: Undefined index: FormDefinition in C:\xampp\htdocs\symfonyproject\vendor\doctrine\lib\Doctrine\ORM\Persisters\BasicEntityPersister.php line 1280