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);
这就解决了问题
我使用以下方法从控制器内部设置 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);
这就解决了问题