2016-11-30 4 views
1

Nehmen wir an, ich habe ein Buch Entity mit einer ManyToOne-Beziehung zu Author Einheit.Symfony-Fehler, wenn Suchfilter in Sitzung gespeichert

Auf einer Seite, die alle Bücher auflistet, habe ich ein Suchformular mit einem Feld 'Autor'. Ich speichere die Daten meines Suchformulars in einem Objekt (nicht en Entität, nicht persistent) namens searchFilter. Ich machte eine SearchFilterType, in der ich die EntityType-Klasse verwende, um eine Auswahlliste der Autoren anzuzeigen, so dass man alle Bücher mit diesem Autor durchsuchen kann.

Wenn ich eine andere Seite besuchen und dann auf die Suchseite zurückkommen, möchte ich meine letzte Suche erinnert werden, das ist, warum ich in der Sitzung das searchFilter Objekt bin zu speichern.

$request->getSession()->set('searchFilter', $searchFilter); 

Aber wenn ich auf der Suchseite zurück, erhalte ich die Fehlermeldung:

Entities passed to the choice field must be managed. Maybe persist them in the entity manager?

Meine Frage:

Muss ich auf meine Suchfilter-Objekt in eine verwandeln Entität, um es zu bestehen, oder gibt es einen einfacheren Weg? Ich möchte nicht, dass mein searchFilter für immer bestehen bleibt, die Sitzungszeit wäre ausreichend.

EDIT:

Ich denke, meine Frage ist ein Duplikat this one ist, wo exzellente Lösungen angeboten.

Antwort