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;
}
4

2 回答 2

2

您需要使用回调

Callback 断言的目的是让您创建完全自定义的验证规则并将任何验证错误分配给对象上的特定字段。

于 2012-06-22T11:30:24.530 回答
1

最简单的解决方案 - 编写自己的验证约束。例如 FOS 用户包中的唯一约束。

于 2012-07-24T08:14:06.453 回答