2017-10-10 80 views
0

在我的數據庫我有2個表:形成一對多的關係

課程表:

  • ID(PK)
  • 名(爲varchar)
  • 描述(文本)

Session表:

  • ID(PK)
  • 日期(日期時間)
  • COURSE_ID(FK以ID從課程表)

在我會話類型buildForm功能如下:

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder 
     ->add('date'); 
} 

The 在我CourseType buildForm功能如下:

$builder 
    ->add('name') 
    ->add('description') 
    ->add('foreknowledge') 
    ->add('teacher') 
    ->add('sessions', CollectionType::class, array(
     'entry_type' => SessionType::class, 
     'entry_options' => array('label' => false), 
     'allow_add' => true, 
     'by_reference' => false, 
     'allow_delete' => true, 
    )) 

我在我的樹枝模板形式如下:

{{ form_start(form) }} 
    {{ form_widget(form) }} 

    <input type="submit" value="Create" /> 
{{ form_end(form) }} 

但沒有什麼是在 「會話」 中。我希望能夠在我的課程中創建多個會話。是否有捷徑可尋?

UPDATE:

當我嘗試保存我的課程,做一個轉儲之前我救我得到這個:

enter image description here

我的會話被保存,但他們沒有聯繫當然。這是怎麼回事?

enter image description here

+0

我想你的意思是「ManyToMany」關係,導致「OneToMany」不是邏輯(你的數據庫設計)在這種情況下:每個會話都可以有很多課程,並且每個課程可以在多個會話中存在 –

回答

1

這是可能的,你缺少一些JavaScript,這是非常有據可查here

而不是從這裏的文檔頁複製粘貼,你可以閱讀它,並詢問你是否需要任何幫助。

+0

@nielsv在你的課程實體你有addSession方法?你轉發會話變種?在該方法中,執行'$ session-> setCourse($ this)'並且應該解決它 – kunicmarko20