一种形式的多个实体

时间:2016-03-08 11:05:01

标签: php symfony doctrine-orm

我有以下问题。我想创建一个适用于两个实体的表单。我有以下实体:第一实体是用户实体,它与第二实体关系连接(列bip与实体“BIP”相关)。 现在我有以下代码:

BIPType.php:

    public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('name');
}

public function getDefaultOptions(array $options)
{
    return array(
        'data_class' => 'AppBundle\Entity\Bip',
    );
}

和UserType.php:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $biptype = new BIPType();
    $builder->add('bip', $biptype);
}

public function getParent()
{
    return 'FOS\UserBundle\Form\Type\RegistrationFormType';
    // Or for Symfony < 2.8
    // return 'fos_user_registration';
}

public function getBlockPrefix()
{
    return 'app_user_registration';
}

// For Symfony 2.x
public function getName()
{
    return $this->getBlockPrefix();
}

不幸的是,错误发生了

  

捕获致命错误:传递给UserBundle \ Entity \ User :: setBip()的参数1必须是AppBundle \ Entity \ Bip的实例,给定数组,在/ home / spake / php / gryf / vendor / symfony /中调用第556行的symfony / src / Symfony / Component / PropertyAccess / PropertyAccessor.php并定义了

怎么做,我的朋友们?谢谢你的建议。

1 个答案:

答案 0 :(得分:1)

您需要声明该Form Class的Entity类:

$builder->add('bip', new BipType(), array(
    'data_class' => 'namespace/to/BipEntity'
));