Symfony3 — Можно ли использовать assert & quot; Count & quot; по многим отношениям?

У меня есть сущность под названием ActorSection с Count() утверждать на одном поле:

namespace ACME\ACMEBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\JoinTable;
use Symfony\Component\Validator\Constraints as Assert;

class ActorSection
{
//...

/**
* @ORM\ManyToMany(targetEntity="ACME\ACMEBundle\Entity\Post")
* @ORM\joinTable(name="actor_section_post")
* @Assert\Count(
*      min = "1",
*      minMessage = "Merci de sélectionner au moins un poste",
* )
*/
private $posts;

//...
}

В моем контроллере операции «добавить» и «редактировать» используют один и тот же сценарий. Форма проверяется даже без выбора «постов» детей.

$handleRequest = $form->handleRequest($request);
if ($request->isMethod('POST')){
if( ! $handleRequest->isValid()){
$request->getSession()->getFlashBag()->add('danger', "Error message");
} else{
$em->persist($Section);
$em->flush();
//...
}
}

ActorSelection объекты сохраняются просто хорошо, без постов.
COUNT утверждает, игнорировать многие отношения?

Изменить: вот соответствующая часть моего конструктора форм:

    $available_posts = $em->getRepository("ACMEBundle:Post")
->getAvailablePosts($convention);

$formBuilder = $this->get('form.factory')->createBuilder(FormType::class, $Section);
$formBuilder
->add('posts',              EntityType::class, array(
'label'  => false,
'required' => true,
'class'        => 'ACME\ACMEBundle\Entity\Post',
'choice_label' => 'cinemaName',
'multiple'     => true,
'expanded'     => true,
'choices'     => $available_posts,
))
->add('save', SubmitType::class)
;
$form = $formBuilder->getForm();

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector