ich eine Form haben, die erlauben sollte ein Element (Gerät) zu einer Kategorie (Marke) hinzuzufügen. Unten ist ein Teil des Controllers, der das Formular erstellt (das $ Markending funktioniert nicht, aber ich werde das später herausfinden). Darunter ist der Code, der mein Formular erstellt.Symfony3: Pass Wert bilden EntityType der ausgewählte Wert Standard sein
Ich möchte meine Select-Box (die eine EntityType von Marke ist und zeigt alle möglichen Marken) auch ausgewählt Wert einen Standard zu zeigen, basierend auf einer Variablen durch die Steuerung weitergegeben.
Zwei Fragen:
- , wo ich diesen Wert nach unten passieren kann?
- Wie kann ich eine Standardoption für das EntityType-Auswahlfeld festlegen? Ich habe erwartet, dass es sich um "Daten" handelt, aber selbst eine Nummer hart zu codieren wird nicht funktionieren.
Dies ist der Controller Bit:
public function createDevice(Request $request, $brand) {
$device = new Device();
$form = $this->createForm(DeviceType::class, $device); // where do I pass the value of the default option?
$form->handleRequest($request);
und der Typ:
class DeviceType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('brand', EntityType::class, array(
'class' => 'AppBundle:Brand',
'choice_label' => 'name',
'choice_value' => 'id',
'data' => '2' // does not set default value to second item!
Hallo, in Ihrem Code oben können Sie nicht in $ $ Marke als ein Objekt über TWIG übergeben; aber Sie könnten über den Controller. Ich versuche nur dir zu helfen. Wenn es sich um eine Marken-ID handelt, können Sie diese in einem QueryBuilder verwenden. –
unsicher, was du meinst? Ich versuche nicht, Objekte an Zweige zu übergeben, denke ich. Ich bin ein bisschen neu für all das :) – bluppfisk
Hallo dort bluppfisk. Sie haben den Code mit der Funktion 'createDevice (Anfrage $ Anfrage, $ Marke)' und die Variable '$ Marke'. Versuchen Sie, ein Markenobjekt an die Funktion zu übergeben? Wenn ja, muss es ein Objekt sein. –