2012-06-22 3 views
1

사용자 및 주문 엔티티가 있습니다. 사용자가 주문을 생성 할 때 사용자 현금이 주문 비용보다 큰지 확인해야합니다. 이 작업을 수행하는 방법? 예 주문 엔티티 :Symfony 2 관련 엔티티와의 유효성 확인

class Order 
{ 
    /** 
    * @var integer $id 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var integer $user 
    * 
    * @ORM\ManyToOne(targetEntity="\App\UserBundle\Entity\User", inversedBy="orders") 
    * @ORM\JoinColumn(name="user_id", referencedColumnName="id") 
    */ 
    private $user; 

    /** 
    * 
    * @ORM\Column(type="integer") 
    * @Assert\Min(limit = "1", message = "You must enter positive number") 
    */ 
    private $price; 
} 

답변

1

가장 간단한 해결책 - 자체 유효성 제한을 작성하십시오. 예로서 FOS User 번들의 Unique 제약 조건.

3

당신은 Callback를 사용해야합니다.

콜백 주장의 목적은 완전히 지정 유효성 검사 규칙을 만들고 개체에 특정 필드에 대한 유효성 검사 오류를 할당 할 수 있도록하는 것입니다.

+0

그리고 주문과 관련된 사용자를 얻는 방법은 무엇입니까? – nucleartux