Как сделать объект DateTime на Symfony 4?

У меня есть объект с именем User, и я хочу создать поле DateTime.

Мои занятия:

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
* @ORM\Entity(repositoryClass="App\Repository\UserRepository")
*/
class User
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;

/**
* @ORM\Column(type="string", length=250)
*/
private $firstName;

/**
* @ORM\Column(type="string", length=250)
*/
private $lastName;

/**
* @ORM\Column(type="string", length=250, nullable = true)
*/
private $userName;

/**
* @ORM\Column(type="string", length=50)
*/
private $email;

/**
* @ORM\Column(type="string", length=20)
*/
private $password;

/**
*@Assert\DateTime()
*/
private $regData;// GETTERS AND SETTERS
}

Когда я бегу php bin/console doctrine:migrations:diff Я получаю следующее сообщение об ошибке:

[Semantical Error] The annotation "@Symfony\Component\Validator\Constraints\DateTime" in property App\Entity\User::$regData does not exist, or could not be auto-loaded.

Я не понимаю, почему я получаю это сообщение об ошибке. Я думал, что мой код был правильным.
Я слежу за этой частью Symfony 4 документация.

-3

Решение

Assert\DateTime Применяйте только ограничения к вашей собственности: это означает, что при отправке вашей формы, если данные не являются чем-то переводимым на определенную дату, они будут недействительными.

Вы должны использовать ORM\Column(type="datetime") для доктрины, чтобы сохранить его в базе данных.

Конечно, используйте оба, чтобы сохранить данные и проверить

  /**
* @Assert\DateTime()
* @ORM\Column(type="datetime")
*/
private $regData;
3

Другие решения

Ну, мне просто нужно было требовать Валидатор.
Я побежал composer require validator а потом я побежал php bin/console doctrine:migrations:diff и это просто сработало.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector