3
我實際上在學習Symfony2,我遇到了問題。我在電影和演員之間有很多很多的關係。實體與Symfony2關係形成問題多對多
我已經創建了一個表單來創建一個新電影。在這種形式中,我有一個選擇參數來選擇參與者,但是當我選擇多個參與者時,表單會生成一個錯誤「該值不應該爲空」。當我在actor類中刪除我的斷言時,我沒有這個錯誤。 爲什麼我的表單檢查演員類中的斷言?
/*
* MOVIE CLASS
*
*/
class Movie
{
//...
/**
* @ORM\ManyToMany(targetEntity="Actor", inversedBy="movies")
* @ORM\JoinTable(name="movie_actor")
*/
protected $actors;
}
/*
* ACTOR CLASS
*
*/
class Actor
{
/**
* @ORM\Column(type="string", length="255")
* @Assert\NotBlank()
* @Assert\MinLength(3)
*/
protected $firstName;
/**
* @ORM\Column(type="string", length="255")
* @Assert\NotBlank()
* @Assert\MinLength(3)
*/
protected $lastName;
/**
* @ORM\Column(type="date", nullable = true)
*/
protected $birthday;
/**
* @ORM\Column(type="boolean")
* @Assert\NotBlank()
*/
protected $sexe;
/**
* @ORM\ManyToMany(targetEntity="Movie", mappedBy="actors")
* @Assert\NotNull()
*/
protected $movies;
}
/**
*
* MOVIE FORM
*/
class MovieType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('title')
->add('description')
->add('category')
->add('actors', 'entity',
array(
'class' => 'MyAppFilmothequeBundle:Actor',
'query_builder' => function(EntityRepository $er)
{
return $er->createQueryBuilder('a')->orderBy('a.firstName', 'ASC');
},
'multiple' => true
))
->add('user')
;
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'MyApp\FilmothequeBundle\Entity\Movie');
}
public function getName()
{
return 'movie';
}
}
並且正如官方文檔所說,必需僅用於通過HTML5屬性進行客戶端驗證。 –