Ошибка поля даты привязки формы zf3 fieldset - объект предоставлен помощнику Escape, но флаги не разрешают рекурсию

Когда я использовал форму набора полей, кроме данных поля даты, установленных во время редактирования. Но во время редактирования данные даты не установлены должным образом и выдают ошибку.

когда я привязываю объект блога к форме, выдает ошибку "Объект предоставлен помощнику Escape, но флаги не разрешают рекурсию" из-за объекта даты. Если я прокомментирую поле, связанное с датой, форма привязывается правильно.

Пожалуйста, предоставьте решения о том, как установить данные даты во время редактирования.

Объект блога:

   /**
   *  @var \DateTime
   *
   *  @ORM\Column(name="start_date", type="date", nullable=false)
   */       
   protected $startDate;

Добавить набор полей блога:

   $this->add([
        'name' => 'startDate',
        'type' => 'text',
        'attributes' => [
            'id' => 'startDate',
            'class' => 'form-control date',
        ],
        'options' => [
            'label' => 'Start date',
            'label_options' => [
                'disable_html_escape' => true,
            ],
        ]
    ]);

код контроллера:

    public function editAction() {
       try {
          $blogId = $this->params()->fromRoute('id');
          $form = new AddBlogForm($this->em, $blogId);
          $blogObj = $this->em->getRepository(Blog::class)
                          ->find($blogId);

          **$form->bind($blogObj);**    
          $request = $this->getRequest();
          if ($request->isPost()) {
             $requestData = $request->getPost()->toArray();
             $form->setData($requestData);
             if ($form->isValid()) {
                 $this->em->flush();
                 $this->em->commit();
                 $this->flashmessenger()->addSuccessMessage('Blog upate');
                 return $this->redirect()->toRoute('blog');
             }
         }

         return [
             'form' => $form,
             'blogId'=> $this->params()->fromRoute('id')
         ];
       } catch (\Exception $ex) {
          $this->em->rollback();
          throw new \Exception($ex->getMessage());
       }
    }

person Ohm    schedule 09.10.2017    source источник
comment
Пробовали ли вы ответы из 14760946 ?   -  person gsc    schedule 09.10.2017
comment
Спасибо, приведенные выше решения также работают. Но это не рекомендуется, потому что, если форма имеет более 1 поля, чем у нас, напишите ниже код для каждого поля $form->get('datenais')->setValue($document->getDatenais()- ›format('Г-м-д')); Вместо приведенного выше решения я получил решение ниже, записав в сущность /** * Get startDate * * @return \DateTime */ public function getStartDate() { if($this-›startDate != NULL) { return $this-›startDate -›формат('м/д/Г'); } вернуть $this-›startDate; }   -  person Ohm    schedule 09.10.2017