Php Symfony3:Add';多重';分组选项ChoiceType上的选项

Php Symfony3:Add';多重';分组选项ChoiceType上的选项,php,forms,symfony,Php,Forms,Symfony,我想无法使用分组选项进行多项选择,但出现错误: “无法转换属性路径“destinataries”的值:应为数组。” 守则: foreach ($manager->getRepository('CommonBundle:Compte')->findAll() as $value) $arrayCompte[$value->getPseudo()] = $value->getPseudo(); foreach ($manager->ge

我想无法使用分组选项进行多项选择,但出现错误:

“无法转换属性路径“destinataries”的值:应为数组。”

守则:

    foreach ($manager->getRepository('CommonBundle:Compte')->findAll() as $value)
        $arrayCompte[$value->getPseudo()] = $value->getPseudo();

    foreach ($manager->getRepository('CommonBundle:Profil')->findAll() as $value)
        $arrayProfil[$value->getNom()] = $value->getNom();

    $arrayDestinataires['Profil'] = $arrayProfil;
    $arrayDestinataires['Compte'] = $arrayCompte;

    $ticketForm = $this->createFormBuilder($ticket)
    ->add('priorite',       ChoiceType::class, array(
        'multiple' => true, // working
        'choices' => array(
            'Faible' => 0,
            'Moyen' => 1,
            'Fort' => 2)))
    ->add('destinataires',  ChoiceType::class, array(
        'multiple' => true, //not working
        'choices' => $arrayDestinataires))
请注意,如果没有“'multiple'=>true,”它就可以工作

请注意,一些选项,如“'expanded'=>true”是有效的

编辑: 变量“destinataries”是一个多变量关系。显然这就是我出错的原因


我需要创建一个自定义fromBuilder a重载此部件并在我这边处理它。

这意味着数组$arrayDestinataires不能作为选项列表呈现。据我所知,在你的代码中,这将是你数组的最终结果

$arrayDestinataires = array(
     'Profil' => array (.....),
     'Compte' => array (.....)
)
此结构无法按您的需要呈现,因为Profil和Compte可以是值,但相应的数组无法转换为字符串

希望这对您有所帮助。

问题在于“Destinataries”与“Compte”对象有很多关系,我想添加“Profil”实体作为用户的快捷方式。
为了解决这个问题,我在实体中添加了一个数组变量来存储表单结果并使用它。

经过研究,我发现发送到该块表单的变量不是数组变量,而是宿主变量。”“命运”是许多人的关系。所以我知道我需要找出如何处理这件事^^