У меня есть форма, которая должна позволить, чтобы добавить элемент (устройство) в категории (марки). Ниже приведена часть контроллера, который создает форму (вещь в $ brand не работает, но я это выясню позже). Ниже это код, который создает мою форму.Symfony3: значение пропуском Форма EntityType быть выбрано значение по умолчанию
Я хочу, чтобы мой Выбрать ящик (который является EntityType из Марки и показывают все возможные бренды) также показывает по умолчанию выбранного значения, основанной на переменном передается контроллером.
Два вопроса:
- , где я могу передать это значение вниз?
- Как установить параметр по умолчанию для поля выбора EntityType? Я ожидал, что это «данные», но даже жесткое кодирование числа там не сработает.
Это контроллер бит:
public function createDevice(Request $request, $brand) {
$device = new Device();
$form = $this->createForm(DeviceType::class, $device); // where do I pass the value of the default option?
$form->handleRequest($request);
и типа:
class DeviceType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('brand', EntityType::class, array(
'class' => 'AppBundle:Brand',
'choice_label' => 'name',
'choice_value' => 'id',
'data' => '2' // does not set default value to second item!
Hi, в вашем коде выше вы не можете пройти в '$ brand' как объект через TWIG; но вы можете через контроллер. Просто пытаюсь помочь тебе. Если это был идентификатор бренда, вы можете использовать его в построителе запросов. –
неуверенный, что вы имеете в виду? Думаю, я не пытаюсь передать объекты на ветку. Я немного новичок во всем этом :) – bluppfisk
Привет там bluppfisk. У вас есть код с функцией: 'createDevice (Request $ request, $ brand)' и переменная '$ brand'. Вы пытаетесь передать объект бренда в функцию? Если это так, это должен быть объект. –