【发布时间】:2015-06-17 22:04:47
【问题描述】:
我遇到了这个错误,我被困了好几个小时
Catchable Fatal Error: Argument 1 passed to Thinking\ThinkBundle\Entity\InYourMind::setThinkFriend() must be an instance of Thinking\ThinkBundle\Entity\InYourMindFriend, array given, called in /var/www/html/thinkroulette/vars/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php on line 410 and defined
我搜索了这个问题,出现了很多结果,但我无法解决这个问题。
我正在尝试将两个实体整合到一种形式中,我从这篇文章中得到了我的想法 Create 2 different entities with same form in Symfony 2
可能这很愚蠢,但我什至无法理解错误。 :(
以下主要形式的片段
//InYourMindType.php
class InYourMindType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('thinkFriend', new InYourMindFriendType)
//...
这是“嵌入式”表单:
//InYourMindDriendType
class InYourMindFriendType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('email', 'email', array(
'label' => 'label_think_userEmail',
'required' => false,
'attr' => array(
'title' => 'label_think_userEmail',
'class' => 'form-control'
)
));
}
public function getName()
{
return 'thinkFriend';
}
调用主窗体的树枝(然后是嵌入的树枝)
<div class="form-group">
{{ form_label(t_form.title) }}
{{ form_widget(t_form.title) }}
{{ form_errors(t_form.title) }}
</div>
<div class="form-group">
{{ form_label(t_form.thinkFriend.email) }}
{{ form_widget(t_form.thinkFriend.email) }}
{{ form_errors(t_form.thinkFriend.email) }}
这些表单属于两个不同的实体,分别通过多对一和一对多的关系连接。
如果您需要我发布实体,请询问。
非常感谢
【问题讨论】:
标签: php forms symfony entity symfony-2.6