【发布时间】:2016-03-08 11:05:01
【问题描述】:
我有以下问题。我想创建一个适用于两个实体的表单。我有以下实体:第一个实体是用户实体,它与第二个实体相关联(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/ 中调用symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php 在第 556 行并定义
朋友们,怎么办?感谢您的建议。
【问题讨论】:
标签: php symfony doctrine-orm