Я пытаюсь настроить метки форм, которые создаются в подчиненных формах.
Я хочу отобразить футбольные матчи, которые содержатся в конкретной игровой неделе, например:
- Fixture 1 : Manchester United (0) - (1) Arsenal
- Fixture 2 : Chelsea (2) - (1) Liverpool
- ...
Моя форма отображает все приборы и соответствующие оценки, но все метки содержат имена столбцов базы данных (оценка1, оценка2). Я хочу поставить названия команд вместо.
Итак, в настоящее время он показывает:
- Fixture 1 : score1 (0) - (1) score2
- Fixture 2 : score1 (2) - (1) score2
- ...
В контроллере я генерирую форму недели (WeekType). $ week содержит данные за неделю и данные о фикстурах, используя $ week-> getFixtures ().
Контроллер / DefaultController.php
$form = $this->createForm(new WeekType(), $week)->createView();
return array(
'form' => $form,
);
Форма / WeekType.php
class WeekType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('fixtures', 'collection', array(
'type' => new FixtureType(),
));
}
}
Форма Fixture добавляет 2 поля. Я хочу заменить ярлыки по умолчанию на названия команд.
Однако я не могу получить доступ к данным прибора в этой форме. $ options равен NULL. Я думал, что $ options ['data'] будет содержать данные о приборах ... но я ошибся.
Форма / FixtureType.php
class FixtureType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('score1', 'text', array('label' => **WHAT TO PUT HERE**));
$builder->add('score2', 'text', array('label' => **WHAT TO PUT HERE**));
}
}
Я отображаю все приборы, используя этот код, и он отлично работает.
index.html.twig
{% for fixture in week.form.fixtures %}
{{ form_widget(fixture) }}
{% endfor %}
Может быть, я мог бы настроить свои метки прямо в index.html.twig, но как я могу получить данные о приборах?
Кто-нибудь сталкивался с этой проблемой и решал ее?