Forms 许多人都需要空的

Forms 许多人都需要空的,forms,symfony,doctrine-orm,one-to-many,Forms,Symfony,Doctrine Orm,One To Many,我有一个表格,其中我添加了开发人员,开发人员与实体团队有很多关系,在表格中我可以为开发人员创建selecet团队,但我想有一种可能性,创建没有团队的开发人员我如何才能做到这一点?我需要没有团队的开发者,因为有团队的开发者有role=role\u开发者,没有团队的开发者有role=role\u自由职业者 这是我的逻辑: if ($form->isValid()) { $data = $form->getData();

我有一个表格,其中我添加了开发人员,开发人员与实体团队有很多关系,在表格中我可以为开发人员创建selecet团队,但我想有一种可能性,创建没有团队的开发人员我如何才能做到这一点?我需要没有团队的开发者,因为有团队的开发者有role=role\u开发者,没有团队的开发者有role=role\u自由职业者 这是我的逻辑:

            if ($form->isValid()) {
            $data = $form->getData();
            $team_field = $data->getTeams();

            $pass = $this->hf->generatePassword();
            $entity->setPassword(sha1($pass));
            $entity->setAddedBy($this->getUser());
            if(!empty($team_field)){
                $entity->setRoles('ROLE_DEVELOPER');
            }
            if(empty($team_field)){
                $entity->setRoles('ROLE_FREELANCER');
            }
但我需要空的($team\u field)

这个实体是开发人员

class Developer extends CustomUser
{
/**
 * @var string
 *
 * @ORM\Column(name="email", type="string", length=255,  unique=false, nullable=true)
 * @Assert\Length(min=3, max=255)
 */
protected $email;
    /**
 * @ORM\ManyToOne(targetEntity="Teams", inversedBy="developers")
 * @ORM\JoinColumn(name="team_id", nullable = true, referencedColumnName="id")
 * */
protected $teams;
这个实体是一个团队

class Teams extends STeam
{
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;
    /**
 * @ORM\OneToMany(targetEntity="Developer", mappedBy="teams",  cascade={"persist", "remove"})
 */
protected $developers;
这张表呢

                            ->add('teams', 'entity', array(
                            'class' => 'ArtelProfileBundle:Teams',
                            'property' => 'company',
                            'required' => 'false',
                        ));
请帮帮忙

试试这个(和)


如果用户没有选择任何内容,它将提交空值。

没错,thnks,但是如果选择Team,如何重新选择空字段?您应该能够看到空字段,作为第一个选项。
->add('teams', 'entity', array(
           'class' => 'ArtelProfileBundle:Teams',
           'placeholder' => 'Choose an option',
           'empty_data' => null,
           'property' => 'company',
           'required' => 'false'
));