1.) Die Situation (vereinfacht)
Ich habe zwei Entitäten: eine Container-Entity, die genau 1 Content-Entity hat. Die content_id wird in der Container-Entität gespeichert.
2.) Soft-Delete Content-Entities
Ich habe eine Funktion zum Löschen von Inhaltselementen implementiert, also habe ich ein "deleted" -Attribut zur Inhaltseinheit hinzugefügt. Alles funktioniert gut.
3.) Das Problem
Wenn ich jetzt eine neue Container-Entität erstellen möchte, zeigen die automatisch generierten Auswahlmöglichkeiten ALLE Inhalts-Entitäten an - auch diejenigen, die ich als "gelöscht" markiert habe (delete-attribute = 1).
4.) Die Frage
Wo ist der richtige Ort, um einen "Filter" / eine "Abfrage" hinzuzufügen, um nur die Elemente anzuzeigen, die nicht als gelöscht markiert sind? (löschen! = 1)
5.) Was ich versucht habe
a.) view / twig approach: Ich habe versucht, das Rendering von {{form_widget (form.contentId)}} ohne Erfolg zu ändern
b.) Controller-Ansatz: Ich habe versucht, die Formulardaten in newAction zu manipulieren, wo das Formular erstellt wird ($ form = $ this- & gt; createCreateForm) ($ entity)) ohne Erfolg
c.) type / buildForm Ansatz: Ich habe versucht, die buildForm () - Methode erneut zu ändern, kein Erfolg
Es wäre GROSS, wenn Sie mir einen Hinweis und / oder einen kurzen Code geben könnten, wo ich in die Aktion eingreifen könnte, um die weichen gelöschten Auswahlen zu entfernen.
Vielen Dank im Voraus!
Sie suchen nach query_builder
Option des Entity-Feldes.
Sie können eine benutzerdefinierte Abfrage erstellen, die die Ergebnismenge dort filtert.
Sie könnten einen allgemeineren Ansatz wählen, bei dem alle Select-Anweisungen mit Doktrinfiltern gefiltert werden auch.
Tags und Links symfony doctrine doctrine2 symfony-forms symfony2.4