Я пытаюсь вставить хранилище в форму в Symfony 3.4, а затем использовать выбранную опцию при отправке формы.
Вот код формы:
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('text', TextareaType::class, [
'label' => 'Text'
])
->add('category', EntityType::class, [
'class' => Category::class,
'choice_label' => 'name',
'query_builder' => function(CategoryRepository $repo) {
return $repo->createQueryBuilder('c')
->groupBy('c.name');
}
])
->add('subcategory', EntityType::class, [
'class' => Category::class,
'choice_label' => 'subcategory',
'query_builder' => function(CategoryRepository $repo) {
return $repo->createQueryBuilder('c')
->groupBy('c.subcategory');
}
]);
}
Сэто я могу сделать форму, и это выглядит хорошо.Я могу выбрать различные параметры в репозитории Category.
{% block body %}
{{ form_start(form) }}
{{ form_label(form.name) }}
{{ form_errors(form.name) }}
{{ form_widget(form.name) }}
{{ form_label(form.subcategory) }}
{{ form_errors(form.subcategory) }}
{{ form_widget(form.subcategory) }}
{{ form_end(form) }}
При отправке, при проверке с помощью Xdebug, категория является объектом Category.Я вижу правильные значения (выбранные в раскрывающемся списке формы), но мне нужна только строка, например, category.name.Как мне это сделать?
Кроме того, может потребоваться другой вопрос, но когда я выбираю одну из категорий, мне бы хотелось обновить подкатегорию, чтобы исключить те, которые не принадлежат к выбранному.категория.Я понимаю, что это может потребовать jquery.