我正在使用Sonata Admin捆绑软件构建程序。我有一个ScheduleAdmin类,其中包含以下逻辑:
$formMapper
->add(
'markets',
null,
[
'required' => true,
'label' => 'shared_countries',
'data' => $this->getMarketsByUser($this->getUser())
]
)
;
进度与市场之间的关系是多对多的关系。
getMarketsByUser()
方法总是返回一个市场-例如USA
。我在浏览器中看到的是一个包含我的市场的字段,但是还包含一个包含其他所有国家/地区的自动填充下拉列表。
现在,我想摆脱其他自动填充选项,只允许与我的用户相关的市场。我怎么做?
答案 0 :(得分:0)
那很简单。我查看了this page,然后将我的add()
方法调用更改为:
$formMapper
->add(
'markets',
null,
[
'required' => true,
'label' => 'shared_countries',
'data' => $this->getMarketsByUser($this->getUser()),
'choices' => $this->getMarketsByUser($this->getUser()),
]
)
;
...现在工作正常。