У меня есть счет-фактура Entity с отношением ManyToMany к Entity PaymentMethod
class Invoice
{
/**
* @ORM\ManyToMany(targetEntity="Evo\BackendBundle\Entity\PaymentMethod")
* @ORM\JoinTable(name="sf_invoices_paymentmethods")
*/
protected $paymentMethods;
}
В моем типе формы счета я добавляю это поле со следующим скриптом:
->add('paymentMethods', 'entity', array(
'label' => false,
'class' => 'EvoBackendBundle:PaymentMethod',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('pm')
->where('pm.usedInInvoice = 1')
->orderBy('pm.position');
},
'property' => 'name',
'expanded' => true,
'multiple' => true,
'required' => true,
))
И когда я смотрю на исходный код, сгенерированный страницей формы, я вижу, что в моих флажках paymentMethods нет атрибута required="required". Кто-нибудь знает, почему?
Как я могу убедиться, что хотя бы 1 метод оплаты проверен (на стороне клиента) и чтобы у каждого счета был хотя бы 1 метод оплаты (на стороне доктрины)
Я попробовал @ORM\JoinTable(name="sf_invoices_paymentmethods", nullable=false), но выдает ошибку.