Forms 收集表格及使用者

Forms 收集表格及使用者,forms,symfony,collections,Forms,Symfony,Collections,我正在为我的应用程序开发一个简单的用户配置文件编辑器。用户可以编辑的值包括电子邮件、密码和电话号码 显然,我有一个用户实体,它有一个电话实体集合。还有UserProfileType和PhoneType userProfileType的buildForm方法,包括电话号码: $builder ->add('telefonos','collection', array( 'type' => new TelefonoType(), 'required'

我正在为我的应用程序开发一个简单的用户配置文件编辑器。用户可以编辑的值包括电子邮件、密码和电话号码

显然,我有一个用户实体,它有一个电话实体集合。还有UserProfileType和PhoneType

userProfileType的buildForm方法,包括电话号码:

$builder 
    ->add('telefonos','collection', array(
       'type' => new TelefonoType(),
       'required' => false,
       'allow_add' => true,
       'allow_delete' => true
    ))
电话类型构建表单为:

$builder
    ->add('valor','text',array(
        'required' => false
    ))
    ->add('descripcion','text', array(
        'required' => false
    ))
    ->add('user')
;
电话号码在Twig模板中正确显示…但用户字段显示为组合框,允许用户“更改用户值”。我希望用户值是隐式的。你怎么能这样做


我是Symfony表单的最新用户。请帮帮我。谢谢。

因为您没有告诉Symfony您的
用户字段应该是什么类型,所以它试图猜测最合适的类型(您可以查看)。因此,在电话实体中,我假设
user
属性被声明为用户(您的另一个实体)

因此,Symfony使用
实体
类型()创建表单字段

如果您想要“隐式用户集”,这是不可能的,您必须删除表单生成器中的字段添加,并在控制器操作或服务中对实体手动调用setUser

您可以从安全令牌或直接在控制器操作中获取当前登录用户:
$this->getUser()