#symfony #symfony-validator
#symfony #symfony-валидатор
Вопрос:
Допустим, у меня есть две сущности Bus
и People
связь OneToMany
между ними. Автобус может вместить не более 10 человек.
Как создать ограничение для управления этим?
Например:
* @MyAssertParentMaxChild(max=10)
* @ORMManyToOne(targetEntity="WebfaceCharacterBundleEntityBus", inversedBy="wac")
* @ORMJoinColumn(name="bus_id", referencedColumnName="id", nullable=false)
private $bus;
Ответ №1:
Используйте ограничение Count .
В вашем Bus
классе добавьте ограничение в аннотацию Person:
/**
* ... Rest of the annotation ...
* @AssertCount(
* max = "10",
* maxMessage = "Bus can hold a maximum of 10 persons."
* )
*/
protected $persons;
Обратите внимание, что вы можете указать min
параметр и соответствующее сообщение.