Ich habe ein Problem bei der Verwendung von Formularen in Symfony 2 mit mongoDB-Dokumenten.Symfony2 mongodb Bundle Dokument Eins-zu-viele-Formulare
Ich versuche, eine Form zu haben, die mein erstes Dokument (Post) mit einer Beziehung OneToMany zu Schlagworte (Referenz)
Die Beziehung wie folgt erklärt wird vertreten:
/**
* @Assert\Collection
* @MongoDB\ReferenceMany(targetDocument="Acme\ManagerBundle\Document\Tags")
*/
protected $tags;
Ein Tag hat eine ID und einen Namen.
Ich habe eine Menge Dinge versucht, es
$form = $this->createFormBuilder($tag)->add('tags', 'choice', array('choices' => $tags, 'multiple' => true, 'expanded' => true, 'empty_value' => true, ))
Die Form der Auswahl zeigen arbeiten zu lassen, aber sobald seine submited das Formular nicht gültig ist, und halten thhis Fehler zeigt:
nicht erwartet„Die Felder "0", "1", "2" wurden „
ich auch diese versucht habe: symfony2 form choice and mongodb
Aber die Verwendung von es irgendwie ist
verwirrendUPDATE
Das ist, was ich erhalten, nachdem die Post übergeben wird:
object(Doctrine\Common\Collections\ArrayCollection)#795 (1) {
["_elements":"Doctrine\Common\Collections\ArrayCollection":private]=>
array(2) {
[0]=>
object(Acme\ManagerBundle\Document\Tags)#723 (2) {
["id":protected]=>
string(24) "4f7a0eb1ecd111b99c3d2f25"
["name":protected]=>
string(6) "Fruits"
}
[1]=>
object(Acme\ManagerBundle\Document\Tags)#720 (2) {
["id":protected]=>
string(24) "4f7a0ec7ecd111b99c3d2f26"
["name":protected]=>
string(10) "Vegetables"
}
}
}
i So, jetzt verstehen, warum ich "Die Felder" haben 0 "," 1 "," 2 "wurden nicht erwartet" aber ich verstehe nicht, warum Symfony es nicht verarbeitet.
Ich habe mir eine mögliche Bündel aber nichts
ich keine Ahnung, wie man eine schöne Form haben, die meine Aufgabe und die damit verbundenen Objekte Hydrat wird, wird jemand eine Lösung für dieses Problem hat oder andere Idee, das zu lösen?
Vielen Dank!
Was haben Sie von dieser Frage aus versucht? Die Antwort besagt, DoctrineMongoDBBundle zu installieren und "Dokument" anstelle von "Entität" zu verwenden. – meze
Ich habe versucht "Wahl" und "Sammlung", DoctrineMongoDBBundle ist natürlich bereits installiert und ich habe 'Dokument' anstelle von 'Einheit', aber immer noch das gleiche Problem. –