Beim Passieren preferred_choices
in ein EntityType
eine Form in Symfony 2.8.6 in Kombination mit query_builder
(siehe http://symfony.com/doc/current/reference/forms/types/entity.html#query-builder), ist die bevorzugte Auswahl neu geordnet wird nach query_builder
:-(Symfony2: query_builder Ordnung von preferred_choices auf EntityType Feldumbrüche
0
A
Antwort
0
Dies ist ein bekanntes Problem in Symfony finden https://github.com/symfony/symfony/issues/5136 @Bernhard Schussek erklärt den Grund:.
ich denke, das Problem hier ist, dass
choices
enthält eine sortierte Array undpreferred_choices
Picks Werte aus th bei Array, die ursprüngliche Reihenfolge beibehalten.
So ist es nicht query_builder
, die tatsächlich bricht die Bestellung. Offenbar sind die preferred_choices
immer in der gleichen Reihenfolge wie die gesamte Auswahlliste.
Lösung: In Ihrer Formtype, eine Hilfsspalte kümmern sich um die Bestellung innerhalb der bevorzugten Auswahl hinzufügen:
$qb = function (EntityRepository $er)
{
return $er->createQueryBuilder('a')
->addSelect('(CASE WHEN a.name=\'Whatever\' then 1 ELSE 2 END) AS HIDDEN tmp') // HIDDEN is important!
->addOrderBy('tmp', 'ASC')->addOrderBy('a.name', 'ASC');
};
Dann:
->add('field', EntityType::class, array('query_builder'=>$qb, ...)
Verwandte Themen
- 1. Symfony2 EntityType mit extra Feld
- 2. Symfony2: Formularausnahme - Die Optionen "class", "query_builder" existieren nicht. Bekannte Optionen sind:
- 3. Mock Symfony Form ‚query_builder‘ mit Mockery
- 4. Symfony Formular EntityType, kundenspezifische Daten Auswahl hinzufügen
- 5. Überschreiben von Formularüberprüfungsnachrichten auf symfony2
- 6. EntityType '' hat keinen Schlüssel definiert
- 7. EntityType 'IdentityUserLogin' hat keinen Schlüssel definiert. Definieren Sie den Schlüssel für diesen EntityType
- 8. Symfony Form EntityType ohne Vorladung
- 9. Symfony: Wie platziert man ein bestimmtes Element mit der Option query_builder an erster Stelle?
- 10. Symfony2 benutzerdefinierte radio_widget Einheit Zugang
- 11. auf POST-Anfrage bekommen Symfony2
- 12. PropTypes auf Komponenten höherer Ordnung
- 13. symfony2: wie auf Service von Vorlage zugreifen
- 14. Symfony2 Upgrade von 2.2 auf 2.3
- 15. Symfony2: Entity Formularfeld mit leerem Wert
- 16. Symfony2 Zugriff auf Routenvariablen
- 17. Berechtigungen Probleme auf Symfony2
- 18. Datenbank zuerst - EntityType xxx hat keinen Schlüssel definiert. Definieren Sie den Schlüssel für diesen EntityType
- 19. Symfony2 Äquivalent von before_filter?
- 20. EntityType X hat keinen Schlüssel definiert. Definieren Sie den Schlüssel für diese EntityType
- 21. EntityType 'IdentityUserLogin' hat keinen Schlüssel definiert. Definieren Sie den Schlüssel für diesen EntityType
- 22. EntityType 'x' hat keinen Schlüssel definiert. Definieren Sie den Schlüssel für diese EntityType
- 23. Symfony2 - Pass Daten zwischen Ereignissen
- 24. Symfony FormType Test Deal mit EntityType
- 25. Holen Sie den EntitySet-Namen von einem EntityType in EF
- 26. Symfony2 Weitergabe Werte Sammlung Formulartyp
- 27. Dynamische Änderung von Formularvorgaben zur Gültigkeitsprüfung in symfony2
- 28. Art von Funktionen hoher Ordnung
- 29. Symfony2 Doctrine Expr 'IST NICHT NULL'
- 30. Installation von Symfony2