【发布时间】:2015-01-28 18:16:35
【问题描述】:
我有一个实体“票”,我想创建一个包含许多该实体的表单。
所以我创建了一个这样的 FormType:
class TicketType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('quantity');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => null,
));
}
public function getName()
{
return 'event';
}
}
这里是我的控制器:
$clientTickets = array();
for ($i = 0; $i < 5; $i++) {
clientTickets[] = new Ticket();
}
$formTickets = $this->createForm(new TicketType(), array('tickets' => $clientTickets));
if ($request->getMethod() == 'POST') {
$formTickets->handleRequest($request);
for ($i=0; $i < $formTickets.size(); $i++) {
$em->persist($ticket[$i]);
}
}
最后是我的树枝:
{{ form_start(form, {'attr': {'class': 'form-horizontal', 'id': 'msform', 'name': 'myform', 'method': 'POST' }}) }}
{% for clientTicket in form.tickets %}
{{ form_widget(form.quantity) }}
{% endfor %}
{{ form_rest(form) }}
{{ form_end(form) }}
当我进入页面时,我收到此错误:
对象“Symfony\Component\Form\FormView”的方法“tickets”不 存在于 YourBundle:folder:view.html.twi 行中
为什么我做错了?你有解决办法吗?
【问题讨论】: