2017-02-14 2 views
2

Symfony2와 ignoreNull 작동하지 않음 - UniqueEntity이 필드Symfony2 - UniqueEntity 두 개의 필드

내가 널 (null) 값으로 포트를 추가하려고
// 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; 
} 

에 함께 ignoreNull 작동하지, 그것은이 포트는 호스트에 이미 사용 "던져. " 오류.

포트가 null 일 때 유효성 검사를 무시하고 싶습니다.

답변

1

해결 방법은이 링크를 확인하십시오. UniqueEntity validation in symfony 2

ignoreNull¶

유형 : 부울 기본 :

사실이 옵션이 true로 설정되어있는 경우, 제약 여러 개체가없는 필드에 null 값을 가질 수 있습니다 확인에 실패했습니다. false로 설정하면 null 값 하나만 허용됩니다. 두 번째 엔터티에도 null 값이 있으면 유효성 검사가 실패합니다.

+0

호스트를 추가하지 않고 포트 = null 여러 항목을 허용하고 싶습니다. –