Ich versuche, eine Auswahl Dropdown in Symfony mit dem Array-Wert einer Abfrage vor dem -> hinzufügen des Formular-Builders zu füllen. Ich kann nicht für das Leben von mir das tatsächliche Etikett oder den Wert erhalten, trotz der Tatsache, dass die Dump ($ Kategorien) die richtigen Werte zeigt. Das Dropdown wird nur mit 0,1,2 aufgefüllt. Die Kategorie enthält einen -> getName und einen -> getId, aber ich kann diese nicht referenzieren.Symfony Choices Label von Array
0
A
Antwort
1
Hier ist, wie ich dieses Problem gelöst habe. Ich ausgesondert die Abfrage aus dem Etikett mit einer Funktion:
->add('taskCategory','entity',array(
'class'=>'AppBundle\Entity\Category',
'choices'=>$this->fillCategories($options),
'choice_value'=>'id',
'choice_label'=>'name',
))
Der „fillCategories“ -Funktion nur die Daten zurück, die erforderlich war. Der Schlüssel hier war, den Typ "entity" anstelle von "choice" im -> add anzugeben.
$categories = $em->getRepository('AppBundle:Category')
->createQueryBuilder('t')
->where('t.userCreate = :user_id')
->andWhere('t.type = :catType')
->setParameter('user_id',$userID)
->setParameter('catType',$type)
->getQuery()
->getResult();
return $categories;
Verwandte Themen
- 1. Limit Maximum Choices von ManyToManyField
- 2. Hinzufügen von Bild in Symfony 2 von Symfony Form?
- 3. Django Model Choices
- 4. Kontrollkästchen erstellen mit anpassen Label in Symfony
- 5. Assembly - get symbolische Label von Char-Array?
- 6. Symfony-Formulare mit einem Array anstelle von Entity generieren?
- 7. Symfony 2 Array in Formular
- 8. Symfony wählen Sie durch defaut verschiedene Optionen
- 9. Symfony 2: Erhält verfügbare Auswahlmöglichkeiten Feldtyp
- 10. Erstellen von benutzerdefinierten Symfony 2-Validierungsfunktionen, die mehrere Felder verwenden
- 11. Hinzufügen von Fehler zu Symfony 2 Formularelement
- 12. Bestückung von ChoiceType mit Array von Konstanten
- 13. Validierung dynamisch geladener Auswahlen in Symfony 2
- 14. Remove Standard Einrückungen von Wählen Sie Optionen definiert Choices in Django Template
- 15. Validieren von Elementen in einem Array - Symfony 2.1
- 16. Symfony - Deserialize JSON zu einem Array von Entitäten
- 17. Symfony 2 Doctrine Suche nach geordneten Array von ID
- 18. symfony Sendeformular Anfrage ohne einreichen
- 19. Hinzufügen von HTML-Code in Radio-Label
- 20. Hinzufügen von benutzerdefinierten Attributen zu Optionselementen in Symfony 2 Form Builder
- 21. Symfony Formen überschreiben Feld Aussehen
- 22. Symfony: Fehler beim Zugriff auf ein Array
- 23. Symfony Form - Erwartetes Argument vom Typ "String oder Symfony \ Component \ Form \ FormTypeInterface", "Array"
- 24. Nullable benutzerdefinierte Formulareinheit mit Symfony
- 25. 'Django-Filter' mit CHOICES-Feld verwenden - brauche "Any" -Option
- 26. Symfony Formularwerte von der Sammlung Passieren Typen zu bilden
- 27. Symfony Lehre Gruppe von Query
- 28. Benutzer mit nur einer Rolle in Symfony
- 29. Wie in Symfony Entitätstyp Feld zu symfony und habe viele
- 30. Jenkins Active Choices Plugin Eingabe Textfeld gibt nichts zurück. Warum?
Gibt es einen besonderen Grund für Sie, nicht den Entity-Formular-Typ zu verwenden? – Artamiel
Ich habe das Konzept des 2. Parameters nicht ganz verstanden. Ich dachte "Wahl" war obligatorisch für eine Drop-Down-Liste, um als das Formularobjekt generiert werden. – Lee
"entity" ist Teil des DoctrineBridge-Pakets und bietet zusätzliche Funktionen für den 'choice'-Typ und eine Menge Magie, die nicht in einem kurzen Kommentar erklärt werden kann. Btw, anstatt Ihre Kategorien durch '$ options' zu übergeben, da Sie' entity'-Typ verwenden, können Sie die zusätzliche Option 'query_builder' hinzufügen und den Callback zusammen mit Ihrer Anfrage übergeben - http://symfony.com/doc /current/reference/forms/types/entity.html#using-a-custom-query-for-the-entities – Artamiel