Symfony 将数据设置为多选类型

Symfony set data to multiple choiceType

我使用以下方法从控制器内部设置 symfony choiceType 值:

    $editForm->get('userJobTitle')->setData($job->getJobTitle()->getId());

多选题怎么办?以下方法无效

 $editForm->get('userskills')->setData($job->getSkills());

where getSkills function return Doctrine collection.

setData() 方法需要包含所选选项值的字符串数组,所以我这样做:

$usSkills = $job->getSkills()->getValues();
        $vals = array();
        foreach ($usSkills as $us){
            $vals[] = (string)$us->getId();
        }
        $editForm->get('userskills')->setData($vals); 

这就解决了问题