Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony表单:创建多个电子邮件字段_Php_Symfony_Doctrine Orm - Fatal编程技术网

Php Symfony表单:创建多个电子邮件字段

Php Symfony表单:创建多个电子邮件字段,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,更新 我在Symfony文档中找到了我的案例的答案和示例教程: 如何在Symfony 3.1中为表单分配多个电子邮件字段? 在我的实体中,我有: /** * @var array * @ORM\Column(name="notification_emails", type="array", nullable=true) */ private $notificationEmails; /** * @return array */ public function getNotifica

更新 我在Symfony文档中找到了我的案例的答案和示例教程:


如何在Symfony 3.1中为表单分配多个电子邮件字段? 在我的实体中,我有:

/**
 * @var array
 * @ORM\Column(name="notification_emails", type="array", nullable=true)
 */
private $notificationEmails;

/**
 * @return array
 */
public function getNotificationEmails()
{
    return $this->notificationEmails;
}

/**
 * @param array $notificationEmails
 */
public function setNotificationEmails($notificationEmails)
{
    $this->notificationEmails = $notificationEmails;
}
在我的表格中,我有:

   $builder->add(
       'notificationEmails',
        CollectionType::class,
        array(
           'entry_type' => EmailType::class,
            'label' => 'Add more emails separated by comma',
            'attr' => array(
                'multiple' => 'multiple',
            ),
        )
    );

但这不起作用:(

只有在为每封电子邮件提供多个电子邮件字段的情况下,您才需要
收集
类型字段;借助
javascript
的一些帮助,并使用
添加新电子邮件
按钮

如果用户要添加以逗号分隔的电子邮件,则不需要
集合
类型字段。请将其保留为带有帮助文本的简单文本类型字段

现在,在
setter
[
setNotificationEmails
]中,您应该将csv电子邮件字符串拆分为数组并馈送到ORM。ORM完成其余部分以便保存在数据库中

您应该在getter[
getNotificationEmails
]中执行相反的操作(将数组转换为字符串)。因此,您的表单可以表示逗号分隔的电子邮件


如果上述情况不起作用,我怀疑,表单可能无法从getter读取数据。在这种情况下,您可以始终使用。它非常有用。

请指定“但这不起作用”的含义。我在文档中发现了一个关于此情况的示例: