Ich muss einen Fragebogen mit Multiple-Choice-Fragen zu meinem Anmeldeformular hinzufügen. Die Fragen und Optionen sind in zwei Einheiten:
%Vor%und
%Vor%Ich habe auch eine Fragebogen-Entität, obwohl ich nicht glaube, dass ich sie wirklich brauche, weil die Benutzer keine Fragebögen erstellen werden und nur den einzelnen Fragebogen während der Registrierung ausfüllen.
Meine Benutzereinheit:
%Vor%Mein Benutzercontroller:
%Vor%Der Formulartyp wie er heute ist:
%Vor%Diese Konfiguration funktioniert nicht, um die Fragen und die zugehörigen Optionen abzurufen und sie im selben Benutzererstellungsformular anzuzeigen. Ich habe Anweisungen und Dokumente zum Kombinieren von Formularen gesehen, aber nicht zum Erstellen von Formularen mit dieser Art von Konfiguration. Jede Anleitung wäre willkommen.
Ihre Benutzereinheit benötigt eine Beziehung zu ihren $ Antworten, die Sie in einem $ antwort-Feld in Ihrer Benutzereinheit speichern sollten (siehe "Einbetten von Sammlungen")
Dann in Ihrem Controller, der das Formular Ihr Speicher verdaut die Werte von $ user- & gt; setAnswers (Wert)) und dann finden Sie die Antworten Werte in der Benutzereinheit $ Antworten Feld ($ user- & gt; getAnswers ( )).
Und vergessen Sie nicht, Ihre Getter und Setter hinzuzufügen.
$ php app / console doctrine: generieren: entities BundleName: Entitätsname
Ich bin mir nicht sicher, ob ich deine Frage richtig verstanden habe, aber vielleicht könnte das helfen.
Nach dem, was ich sehe, bauen Sie das Formular (für Fragen) auf, aber Sie verwenden es nirgendwo! Der einfachste Weg besteht darin, die Fragen (in Ihrem Fall $ user- & gt; getQuestions ()) an MyFormType zu übergeben und alle Fragen innerhalb des Typs hinzuzufügen.
Es würde also ungefähr so aussehen
%Vor%Und in deinem Typ
%Vor%Bearbeiten 1
Warum versuchst du Folgendes nicht?
Fügen Sie die Methode setQuestionnaire in User hinzu und erstellen Sie einen Typ namens QuestionnaireType, der für die Erstellung des gesamten Fragebogens zuständig ist Im UserType (sorry für die falschen Namen) fügen Sie den QuestionnaireType als eingebettetes Formular hinzu Sobald der Benutzer die Daten übermittelt und Sie die Bindung aufrufen, übergibt symfony das gesamte Fragebogenobjekt an die erstellte Methode, so dass Sie darüber iterieren und die Antworten des Benutzers speichern können!
Tags und Links php symfony doctrine2 symfony-forms symfony-2.3