2012-06-22 110 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用户包中的唯一约束。

3

您需要使用Callback

回调断言的目的是让你创建完全 自定义的验证规则和分配你的对象的任何验证错误 具体领域。

+0

我应该如何获得与订单相关的用户? – nucleartux