Ошибка: вызов функции-члена format () для необъекта с \ DateTime

0

У меня есть одна проблема с моим проектом Symfony. У меня есть одна сущность со многими \DateTime:

/**
* @var \DateTime
*
* @ORM\Column(name="date_debut", type="datetime", length=255)
*/
protected $dteDebut ;

function getDteDebut() {return $this->dteDebut;}

function setDteDebut(\DateTime $dteDebut) {$this->dteDebut = $dteDebut;}

Я использую formBuilder с datetime следующим образом:

$builder->add('dteDebut', 'datetime', array(
            'label' => 'Date de début :',
            'date_widget' => 'single_text',
            'time_widget' =>'single_text'
        ));

И одно простое использование моей формы:

организатор общественных функцийAction() {

    $em=$this->getDoctrine()->getManager();
    $orga = new \CCF\CCFBundle\Entity\Organiser;
    $form = $this->createForm(new \CCF\CCFBundle\Form\OrganiserForm(), $orga);
    $request = $this->get('request');

    if ($request->getMethod() == 'POST') {
        $form->bind($request);
        var_dump($form->get('dteDebut')->getData());
        if ($form->isValid()) {                
            $em->persist($orga);
            $em->flush();
            return $this->redirect($this->generateUrl('organiser_homepage'));
        }
    }
    //on passe la méthode createView() à la vue pour qu'elle l'affiche
    return $this->render('CCFBundle:Organiser:create.html.twig',array("form"=>$form->createView(),));
}

Когда я верю в форму, у меня есть одна ошибка

Ошибка: вызов в функцию функции-члена() для не-объекта

Трассировки стека

в vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php в строке 53 -

public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
    return ($value !== null)
        ? $value->format($platform->getDateFormatString()) : null;
}
/**

Я не понимаю, где эта ошибка, вы можете мне помочь?

  • 0
    странная проблема, bwt в определении столбца orm типа datetime, я никогда не указываю длину ...
  • 0
    Можете ли вы показать, что дает var_dump ($ form-> get ('dteDebut') -> getData ())?
Показать ещё 3 комментария
Теги:
datetime
formbuilder
doctrine2

3 ответа

0
Лучший ответ

Хорошо, что я плохой... У меня была ошибка по одному другому атрибуту... У меня есть один атрибут с датой типа, и этот атрибут имеет строку типа в форме...

0

Я использую дату и время в одном из моих сущностей. Одно изменение, которое я вижу, заключается в том, что я не указываю в настройщике, что переменная является объектом datetime

setDteDebut($dteDebut) {...}
  • 0
    Я также провел тестирование без указания типа в сеттере, но это ничего не меняет.
0

Попробуйте следующее:

/**
* @var \DateTime
*
* @ORM\Column(name="date_debut", type="datetime", length=255)
*/
protected $dteDebut ;

function getDteDebut() {return $this->dteDebut;}

function setDteDebut(new \DateTime $dteDebut) {$this->dteDebut = $dteDebut;}
  • 0
    С вашим предложением у меня есть одна ошибка "Parse Error: синтаксическая ошибка, неожиданная ошибка" new "(T_NEW), ожидание '&' или переменная (T_VARIABLE)".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню