Symfony2 - UniqueEntity 无法使用ignoreNull 字段
// src/AppBundle/Entity/Service.php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity
* @UniqueEntity(
* fields={"host", "port"},
* errorPath="port",
* message="This port is already in use on that host."
* )
*/
class Service
{
/**
* @ORM\ManyToOne(targetEntity="Host")
*/
public $host;
/**
* @ORM\Column(type="integer", nullable = true)
*/
public $port;
}
我尝试添加具有空值的端口,它抛出“此端口已在该主机上使用”。错误。
我想在端口为空时忽略验证。
最佳答案
检查此链接以获取解决方案。 UniqueEntity validation in symfony 2
忽略Null¶
类型: bool 值默认值:true
如果此选项设置为 true,则约束将允许多个实体的字段具有空值,而不会导致验证失败。如果设置为 false,则仅允许一个空值 - 如果第二个实体也有空值,则验证将失败。
关于php - Symfony2 - UniqueEntity 无法使用两个字段的ignoreNull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42219068/