2014-02-27 48 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或註釋)並再次生成實體