Как ограничить доступные варианты в поле «многие ко многим» в Sonata? - PullRequest
0 голосов
/ 21 февраля 2019

Я работаю над программой, созданной с помощью пакета Sonata Admin.У меня есть класс ScheduleAdmin, который включает следующую логику:

    $formMapper
        ->add(
            'markets',
            null,
            [
                'required' => true,
                'label'    => 'shared_countries',
                'data'     => $this->getMarketsByUser($this->getUser())
            ]
        )
    ;

Взаимосвязь между расписаниями и рынками - это отношение многие ко многим.

Метод getMarketsByUser() всегда возвращает один рынок- USA например.То, что я получаю в своем браузере, это поле, которое включает мой рынок, но также включает в себя раскрывающийся список автозаполнения, содержащий все остальные страны.

Теперь я хочу избавиться от других опций автозаполнения, разрешив только рынок, связанный с моим пользователем.Как я могу это сделать?

1 Ответ

0 голосов
/ 22 февраля 2019

Ну, это было просто.Я посмотрел на эту страницу , а затем изменил мой вызов метода add(), чтобы он выглядел так:

    $formMapper
        ->add(
            'markets',
            null,
            [
                'required' => true,
                'label'    => 'shared_countries',
                'data'     => $this->getMarketsByUser($this->getUser()),
                'choices'     => $this->getMarketsByUser($this->getUser()),
            ]
        )
    ;

... и теперь он работает отлично.

...