ddt*_*dtr 1 doctrine symfony symfony-2.5 symfony-2.6
我有两个实体(用户和项目),生成CRUD选项.实体之间的关系是OneToMany双向(用户1 - *项目).在project/new中,CRUD为用户生成了下拉列表,但我想自动设置登录用户,而不从下拉列表中选择.
这是ProjectType/buildForm()函数:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('projectTitle')
->add('user')
;
}
Run Code Online (Sandbox Code Playgroud)
我可以在buildForm()(来自会话?,数据库?)或其他地方将已记录的用户设置为项目创建者?谢谢.
在控制器中是的,你可能有这样的东西:
$entity = new Project();
$form = $this->createEditForm($entity);
Run Code Online (Sandbox Code Playgroud)
您可以在上面的行之间添加以下行:
$entity->setUser($this->get('security.context')->getToken()->getUser());
Run Code Online (Sandbox Code Playgroud)
然后在表单中预先选择您的用户.
如果你想隐藏它,你可以使用$form->remove('user');和设置像createAction和updateAction 之后提到的用户 $form->handleRequest($request);
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |