[英]Symfony2.3, Relational entity in 1 form
I am trying to save entities of 2 classes in 1 form I have read this article about it. 我正在尝试以一种形式保存2类的实体,我已经阅读了有关此的文章。 My code is : 我的代码是:
class MeetingType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('meetingDay', 'text', array('label' => 'Dzień zbiórki'))
->add('meetingTime', 'text', array('label' => 'Godzina zbiórki'))
->add('congregation', 'entity', array(
'class' => 'ViszmanCongregationBundle:Congregation',
'property' => 'name', 'label' => 'Zbór'
));
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Viszman\CongregationBundle\Entity\Meeting'
));
}
/**
* @return string
*/
public function getName()
{
return 'viszman_congregationbundle_meeting';
}
}
And another TYPE: 还有另一种类型:
class CongregationType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$plDays = array('day1', 'day1', 'day1', 'day1', 'day1', 'day1', 'day1');
$builder
->add('name', 'text', array('label' => 'Name'))
->add('meetingDay', 'choice', array('label' => 'meeting day', 'choices' => $plDays))
->add('meetings','collection', array('type' => new MeetingType(), 'allow_add' => true))
;
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Viszman\CongregationBundle\Entity\Congregation'
));
}
/**
* @return string
*/
public function getName()
{
return 'viszman_congregationbundle_congregation';
}
}
And when I try do render this form I only get CongregationType
and no MeetingType
form. 当我尝试渲染此表单时,我只会得到CongregationType
而没有MeetingType
表单。 part of code responsible for rendering form is: 负责呈现表单的代码部分是:
<h1>Congregation creation</h1>
{{ form_start(form) }}
{{ form_widget(form) }}
<h3>Meetings</h3>
<ul class="tags" data-prototype="{{ form_widget(form.meetings.vars.prototype)|e }}">
{{ form_widget(form.meetings) }}
</ul>
{{ form_end(form) }}
If I remember correctly the entity form field is used to reference an existing entity, not to create a new one. 如果我没有记错的话,实体表单字段用于引用现有实体,而不是用于创建新实体。
This is not what you need, what you need is embedded forms, take a look at the symfony book . 这不是您需要的,您需要的是嵌入式表格,看一看symfony书 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.