没有为约束Symfony \ Component \ Validator \ Constraints \ DateTime Symfony2配置默认选项

use*_*170 1 php datetime symfony

嗨,我有这个异常:没有为约束Symfony \ Component \ Validator \ Constraints \ DateTime配置默认选项

在我的控制器中,我有:

use Symfony\Component\Validator\Constraints\DateTime;
class DefaultController extends Controller
{


public function  test2Action()
{

    $em = $this->getDoctrine()->getEntityManager();
    $id = 1; // ID du bureau de test que l'on a enregistré précédemment

    $desk = $this->getDoctrine()->getRepository('MytestBundle:Desk')->find($id);
    echo "Le bureau récupéré porte l'ID: ".$desk->getId()." et le titre: ".$desk->getTitle();

    $comment = new DeskComment();
    $comment->setDescrption("Mon premier commentaire: Joli bureau !");
    $comment->setSubmissionIp($this->getRequest()->server->get('REMOTE_ADDR'));
    $comment->setCreateAt(new DateTime('now'));
    $comment->setDesk($desk); // On lie le commentaire à notre bureau d'ID 1

    $em->persist($comment); // On persist le commentaire 1

    $comment2 = new DeskComment();
    $comment2->setDescrption("Mon deuxième commentaire: J'adore le bureau ! Bravo !");
    $comment2->setSubmissionIp($this->getRequest()->server->get('REMOTE_ADDR'));
    $comment->setCreateAt(new DateTime('now'));
    $comment2->setDesk($desk); // On lie le commentaire à notre bureau d'ID 1

    $em->persist($comment2); // On persist le commentaire 2

    $em->flush(); // On sauvegarde en BDD les deux commentaires

     return $this->render('MytestBundle:Default:test2.html.twig');
}
Run Code Online (Sandbox Code Playgroud)

我认为问题是新的DateTime('now')

任何帮助!

Ali*_*ixB 5

\在DateTime之前添加一个new \DateTime('now')。如果您没有使用\,则DateTime将被解释为Symfony\Component\Validator\Constraints\DateTime不是PHP DateTime

use Symfony\Component\Validator\Constraints\DateTime;之后,您可以删除。