Php Symfony2可捕获致命错误:参数1传递给实体可捕获致命错误:参数1传递给实体
我犯了这个错误,我被困了好几个小时Php Symfony2可捕获致命错误:参数1传递给实体可捕获致命错误:参数1传递给实体,php,forms,symfony,entity,symfony-2.6,Php,Forms,Symfony,Entity,Symfony 2.6,我犯了这个错误,我被困了好几个小时 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
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
我搜索了这个问题,得到了很多结果,但我没有能力解决这个问题
我试图将两个实体整合成一种形式,我从这篇文章中得到了我的想法
也许这是一个愚蠢的举动,但我甚至不能理解其中的错误(
在主要形式的剪断之后
//InYourMindType.php
class InYourMindType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('thinkFriend', new InYourMindFriendType)
//...
这是“嵌入式”表格:
调用主窗体的细枝(然后是嵌入窗体)
{{form_标签(t_form.title)}
{{form_小部件(t_form.title)}
{{form_errors(t_form.title)}
{{form_标签(t_form.thinkFriend.email)}
{{form_小部件(t_form.thinkFriend.email)}
{{form_errors(t_form.thinkFriend.email)}
这些形式分别属于通过多对一和一对多关系连接的两个不同实体
如果你需要我发布实体,请询问
非常感谢您为InYourMindFriendType设置数据类选项
签出非常感谢!!这很有效,只是另一个问题。YourMindFriendType中第二个表单中的字段不是必填字段。如果我不填写任何数据,它会拉出一个错误,表示它不能为null。如果为null,它将不会保存到表中(与该实体相关):我该怎么做?:)你指的是YourMindFriendType中的“email”字段。如果是,您应该注意到选项'required'=>false仅禁用HTML5的'required'属性,如果它在'email'为null时抛出错误,那么您的实体声明中可能有一个必需的约束
//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) }}