Sonata User Admin - Benutzerdefinierte Feldabhängigkeit

Ich habe die SonataAdmin-Klasse für FOSUser erweitert und 2 benutzerdefinierte Felder hinzugefügt (Auswahltyp aus externer Datenquelle):Company undSector

ich würde es gerne machenSector abhängig vonCompanyWenn der Benutzer eine Firma auswählt, werden die verfügbaren Sektoren gefiltert.

Ich habe zwar über FormEvents zum Filtern beim Laden der Seite nachgedacht, aber ich weiß nicht einmal, wie ich das bekommen sollCompany Wert des aktuellen Formulars.

Hier ist ein Teil meiner SitteSectorType

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->addEventListener(FormEvents::PRE_SET_DATA
    , function(FormEvent $event) {
        $data = $event->getData();
        $form = $event->getForm();
        // Need to get the company value here if set
    });
}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'choices' => $this->getSectors(),
    ));
}

public function getSectors()
{
    $sects = array();
    // Need to pass the selected company value to my getList
    // (which gets the list of sector as you can imagine)
    if (($tmp_sects = $this->ssrs->getList('Sector'))) {
        foreach ($tmp_sects as $sect) {
            $label = $sect['id'] ? $sect['label'] : '';
            $sects[$sect['id']] = $label;
        }
    }
    return $sects;
}

Die Frage ist also:

Wie bekomme ich die ausgewähltenCompany von meinem BrauchSectorType ?

Danach muss ich in der Lage sein, den Sektor mit Ajax aufzufrischen, aber das wird eine andere Frage sein

Antworten auf die Frage(1)

Ihre Antwort auf die Frage