簡體   English   中英

Symfony-三個相關實體的表格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM