上下文
- 我需要将我的用户链接到公司
- 这些公司存储在另一个数据库(mssql:())中
- 我有一个存储过程,它提供了公司列表
我做了什么
- 将dbal配置为能够调用存储过程
- 扩展了SonataUser的实体,并为公司id添加了一个Integer字段
-
带的扩展声纳用户管理
configureFormFields()
$formMapper #... ->add('company', 'choice', array('choices' => $companies)) #...
$companies
应该包含公司列表,但不确定这是正确的方法,而且我甚至不知道如何从这个类调用存储过程。。。
问题
- 如何在SonataUser的表格中列出这些公司
- 如何在列表中显示选定的公司名称
以下是我所做的:
- 创建一个服务,注入连接以从
- 创建自定义字段
- 将其注册为服务,并在构造函数中注入第一个服务
-
将选项提供给字段(进入自定义字段定义)
public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( #...
然后我就可以简单地从configureFormFields()
使用它了:
->add('company', 'company')