Ұйым Symfony2 қатынасымен көптеген мәселелерді шешеді

Мен Symfony2 үйреніп жатырмын және мәселе бар. Кино мен актер арасында көптеген адамдармен қатынасым бар.

Мен жаңа фильм жасау үшін форманы құрдық. Бұл пішінде актерлерді таңдау үшін таңдалған кірісім бар, бірақ мен көптеген актерлерді таңдаған кезде, форма «Бұл мән бос болмауы керек» деген қате пайда болды. Мен актерлік классқа деген сенімімді өшіргенде, менде бұл қате жоқ. Неліктен менің пішінім актерлік сыныпта бекітілуде?

    /*
       *  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';
    }
}
3

1 жауаптар

Тексеру сыныпқа (шектеу деп аталатын) бірқатар ережелерді қосу арқылы жасалады. Сонымен, сіздің пішініңіз ұсынылған деректердің жарамды немесе жарамсыз екенін тексеру үшін тиісті сыныпқа қойған бекітуге қарайды. Пішіндер бөлімін тексеріңіз.

Тағы бір нәрсе: субъектілік өрісі «талап етілетін» параметр әдепкіде «true» күйіне орнатылады. Егер сіз оны шынымен қаласаңыз, оны жалғанға қойыңыз.

0
қосылды
Ресми құжаттамада айтылғандай, талап етілетін HTML5 төлсипаты арқылы тек клиенттік тараптан тексеру үшін пайдаланылады.
қосылды автор i.am.michiel, көзі