Администратор пользователя Sonata - Зависимость пользовательских полей

Я расширил класс SonataAdmin для FOSUser и добавил 2 настраиваемых поля (тип выбора из внешнего источника данных):Company и я'Sector

хотел бы сделатьSector зависит отCompanyТаким образом, если пользователь выбирает Компанию, он фильтрует доступные Секторы.

Я хотя и об использовании FormEvents для фильтрации при загрузке страницы, но я недаже не знаю, как получитьCompany значение текущей формы.

Вот часть моего обычаяSectorType

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;
}

Итак, вопрос:

Как получить выбранныйCompany из моего обычая?SectorType

После этого я'Вам нужно будет обновить сектор с помощью Ajax, но это будет другой вопрос

Ответы на вопрос(1)

Ваш ответ на вопрос