[英]Symfony - Form for Three Related Entities
我有三個實體,它們之間的關系如下:Can-> Jobcan <-Job
Jobcan與Can和Job都有ManyToOne關系。
我建立一個JobType表單,如下所示:
$builder
->add('name','text')
->add('schedule','text')
->add('jobcans', 'entity',array(
'class' => 'RoelabGusBundle:Can',
'property' => 'name',
'multiple' => 'true',
'expanded' => true,))
->add('save','submit')
;
該表單將按我期望的方式呈現,其中數據庫中每個Can都有一個可用的復選框。 但是,提交表單時,將引發以下異常:在關聯Roelab \\ GusBundle \\ Entity \\ Job#jobcans上找到類型為Roelab \\ GusBundle \\ Entity \\ Can的實體,但是期望Roelab \\ GusBundle \\ Entity \\ Jobcan
這是可以理解的,因為作業實體正在尋找Jobcan:
class Job
{
protected $jobcans;
public function __construct()
{
$this->jobcans = new ArrayCollection();
}
最終,我想獲取選定的Can實體的ID,並為每個選定的Can創建Jobcan對象/行。
我嘗試將表單字段設置為普通的舊選擇,通過查詢Can表的構建來構建數組,但由於無法轉換int而遇到一些錯誤(對不起,沒有確切的錯誤消息)。
確保這可能很簡單,但是對於Symfony和OOP來說是新的,因此提前致歉。
問題可能出在我認為的提示類型上。 如果您最近進行了一些重構(將類名從“ Can”更改為“ Jobcan”),請檢查實體方法是否指向正確的類或檢查實體定義(yml或注釋)並再次生成實體
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.