如何创建限制最大子项的约束

时间:2016-10-13 15:14:32

标签: symfony symfony-validator

我们说我有两个实体BusPeople,它们之间的关系为OneToMany。 巴士最多可容纳10人。

如何创建约束来控制它?

例如:

* @MyAssert\ParentMaxChild(max=10)

* @ORM\ManyToOne(targetEntity="Webface\CharacterBundle\Entity\Bus", inversedBy="wac")
* @ORM\JoinColumn(name="bus_id", referencedColumnName="id", nullable=false)

private $bus;

1 个答案:

答案 0 :(得分:5)

使用Count constraint

Bus类中,在Person注释中添加约束:

/**
 * ... Rest of the annotation ...
 * @Assert\Count(
 *      max = "10",
 *      maxMessage = "Bus can hold a maximum of 10 persons."
 * )
 */
protected $persons;

请注意,您可以指定min参数和相应的消息。