“ UniqueEntity datetime Symfony4:”该字段没有被Doctrine映射,因此无法验证其唯一性。

时间:2019-10-18 07:43:19

标签: doctrine-orm symfony4

我正在尝试为日期时间字段使用UniqueEntity。当我将其与字符串字段或电子邮件一起使用时,一切正常。但是使用datetime:“ Doctrine并未映射字段“ date_one”,因此无法对其唯一性进行验证。”

(...)
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity(repositoryClass="App\Repository\VisitRepository")
 * @UniqueEntity("date_one")
 */

(...)

/**
* @ORM\Column(name="date_one", type="datetime", unique=true)
* [$dateOne description]
* @Assert\DateTime
* @var string A "m/d/Y H:i:s" formatted value
* @Assert\Range(
*      min = "now"
* )
*/
protected $dateOne;

一个主意?

2 个答案:

答案 0 :(得分:0)

您尝试使用dateOne代替date_one作为UniqueEntity的字段吗?

答案 1 :(得分:0)

这样,就可以了:

(...)
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity(repositoryClass="App\Repository\VisitRepository")
 * @UniqueEntity(
 *     fields={"dateOne"},
 *     message="Cette date est déjà prise"
 * )
 */

(...)