2014-02-27 49 views
0

我有三个实体的关系如下: 灿 - > Jobcan < - 招聘Symfony的 - 表格三个相关实体

Jobcan有既能和工作多对一的关系。

我建立一个JobType形式如下:

$builder 
     ->add('name','text') 
     ->add('schedule','text') 
     ->add('jobcans', 'entity',array(
      'class' => 'RoelabGusBundle:Can', 
      'property' => 'name', 
      'multiple' => 'true', 
      'expanded' => true,)) 
     ->add('save','submit') 
    ; 

的形式呈现如我所料,其中一个复选框,可用于每个可以在数据库中。然而,当表单提交下列异常被抛出: 发现的类型Roelab \ GusBundle \实体\实体可以在协会Roelab \ GusBundle \实体\作业#jobcans,但预计Roelab \ GusBundle \实体\ Jobcan

这是可以理解的,因为工作实体正在寻找Jobcan:

class Job 
    { 
     protected $jobcans; 

     public function __construct() 
     { 
      $this->jobcans = new ArrayCollection(); 
     } 

最后,我要抢所选能否实体的ID以及每个选择可以创建Jobcan对象/行。

我已经尝试将表单字段设置为普通的旧选择,通过构建查询Can表的数组来填充表单字段,但得到了一些关于无法转换int的错误(抱歉,没有确切的错误信息)。

当然这可能很简单,但是Symfony和OOP是新的,所以提前道歉。

回答

0

可能问题在于我想的类型暗示。如果您最近做了一些重构(将类名从“Can”更改为“Jobcan”),请检查实体方法是否指向正确的类或检查实体定义(yml或注释)并再次生成实体