我有用户和订单实体。当用户创建订单时,我应检查用户现金是否大于订单成本。这该怎么做? 示例订单实体:
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;
}
答案 0 :(得分:2)
您需要使用Callback。
Callback断言的目的是让你完全创建 自定义验证规则并将任何验证错误分配给 对象上的特定字段。
答案 1 :(得分:1)
最简单的解决方案 - 编写自己的验证约束。作为FOS用户包中的示例唯一约束。