Ошибка запроса в Symfony с логическим значением в pass для формирования аргумента - PullRequest
0 голосов
/ 11 сентября 2018

Я получил таблицу с идентификатором базы данных, json, status и все работает в другой таблице, и в этой я могу сохранять, читать, но не могу взять данные из хранилища и перейти к форме. Смотри:

это моя форма SliderType

    class SliderType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
        ->add('status', ChoiceType::class, array(
                    'data' => $options['status'],
                'choices' => array(
                    "Aktywna" => 1,
                    "Nieaktywna" => 0
                ),
                'attr' => array(
                'class' => 'form-control'
                ),
        ))

И здесь мне нужно передать из опций resolver переменную состояния, которая имеет логическое значение, поэтому в контроллере я сделал это так:

        //tworzymy formularz
        $form = $this->createForm(SliderType::class, $request, array(
         .
         .
        'status' => $slider->getStatus,

проблема в том, что другие переменные работают отлично, если я добавляю только это, я выдавал ошибку:

Cannot read index "status" from object of type "Symfony\Component\HttpFoundation\Request" because it doesn't implement \ArrayAccess.

Есть идеи, что здесь не так? и самое смешное, что я получил еще один контроллер с другой таблицей (структура та же), и все работает отлично.

1 Ответ

0 голосов
/ 11 сентября 2018

Вы предоставляете HttpRequest symfony данным вашей формы.

Это вызывает вашу проблему

Вы должны передать объект, который будет увлажнен формой.Передайте объекту-ползунку createForm второй аргумент метода

$form = $this->createForm(SliderType::class, $slider, array(
        'status' => $slider->getStatus));

Чем вы должны указать форме для обработки запроса и извлечения данных из запроса для гидратации вашего объекта с помощью вашей формы.

$form->handleRequest($request);

Вы должны прочитать документацию формы

...