具有一对多关系的表单

时间:2017-10-10 16:48:19

标签: php mysql sql symfony foreign-keys

在我的数据库中,我有2个表:

课程表:

  • id(PK)
  • name(varchar)
  • description(text)

会话表:

  • id(PK)
  • 日期(日期时间)
  • course_id(FK to course from course table)

SessionType 中的 buildForm 函数如下所示:

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

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,
    ))

我的twig模板中的表单如下所示:

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

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

但&#34; Sessions&#34;下没有显示任何内容。我希望有可能在我的课程下创建多个课程。有一个简单的方法吗?

更新

当我尝试保存课程并在保存之前进行转储时,我得到了这个:

enter image description here

我的会话已保存,但它们与课程无关。这是怎么来的?

enter image description here

1 个答案:

答案 0 :(得分:1)

这是可能的,你错过了一些javascript,它有很好的记录here

您可以阅读该文档页面,而不是从该文档页面进行复制粘贴,并询问您是否需要任何帮助。