【发布时间】:2016-10-06 10:23:35
【问题描述】:
对于我的 Symfony 项目,我使用了一个从另一个图表获取其字段数据的表单。数据本身显示正确,但预订字段 (Booking) 和房间设备字段 (Zimmerausstattung) 存在一些问题。
我的表单代码:
class ZimmerType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('zimmerNummer', TextType::class, array('label' => 'Zimmer: ', 'required' => false, 'attr' => array('placeholder' => 'Nr. oder Name')))
->add('betten', IntegerType::class, array('label' => 'Betten: *', 'attr' => array('placeholder' => 'Anzahl der Betten')))
->add('standort', TextType::class, array('label' => 'Standort: ', 'required' => false, 'attr' => array('placeholder' => 'Etage oder Ort des Zimmers')))
->add('zimmerausstattung', EntityType::class, array('label' => 'Zimmerausstattung: ',
'class' => 'AppBundle:Zimmerausstattung',
'multiple' => true,
'required' => false,
'empty_data' => null,
))
->add('location', EntityType::class, array('label' => 'Location: *',
'class' => 'AppBundle:Location'))
->add('booking', EntityType::class, array('label' => 'Booking: ',
'class' => 'AppBundle:Booking',
'multiple' => true,
'required' => false,
'empty_data' => null,
))
;
}
我将整个表单转换为“Checkbutton / Radiobutton” - 尽管转换工作正常,但没有显示任何记录。
class ZimmerType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('zimmerNummer', TextType::class, array('label' => 'Zimmer: ', 'required' => false, 'attr' => array('placeholder' => 'Nr. oder Name')))
->add('betten', IntegerType::class, array('label' => 'Betten: *', 'attr' => array('placeholder' => 'Anzahl der Betten')))
->add('standort', TextType::class, array('label' => 'Standort: ', 'required' => false, 'attr' => array('placeholder' => 'Etage oder Ort des Zimmers')))
->add('zimmerausstattung', EntityType::class, array('label' => 'Zimmerausstattung: ',
'class' => 'AppBundle:Zimmerausstattung',
'multiple' => true,
'required' => false,
'empty_data' => null,))
'expanded' => true,))
->add('location', EntityType::class, array('label' => 'Location: *',
'class' => 'AppBundle:Location'))
->add('booking', EntityType::class, array('label' => 'Booking: ',
'class' => 'AppBundle:Booking',
'multiple' => true,
'required' => false,
'empty_data' => null,
'choice_label' => 'person.name',
'expanded' => true,
))
;
}
我的树枝代码:
{% extends '::base.html.twig' %}
{% form_theme edit_form 'form_table_layout.html.twig' %}
{% block title %}Zimmer {{ entity.zimmernummer }} bearbeiten {% endblock %}
{% block body -%}
<h1>{{ block('title') }}</h1>
{{ form(edit_form) }}
<ul class="record_actions">
<li>
<a href="{{ path('zimmer') }}">
Zurück zur Übersicht
</a>
</li>
<li>{{ form(delete_form) }}</li>
</ul>
{% endblock %}
我该如何解决这个问题? 如果有人能帮我解决这个问题,那就太好了,因为我的想法已经不多了。
【问题讨论】:
标签: php forms symfony doctrine-orm doctrine