Symfony1 在sfWidgetFormDoctrineChoice(symfony)中默认选择多个项目

Symfony1 在sfWidgetFormDoctrineChoice(symfony)中默认选择多个项目,symfony1,doctrine,Symfony1,Doctrine,使用Symfony和Doctrine,我有一个多选列表框。需要根据条令查询生成多个默认值 $this->setWidgets(array( 'folders' => new sfWidgetFormDoctrineChoice(array( 'model' => 'FolderItem', 'order_by' => array('name', 'asc'), 'multiple' => true, 'query' => F

使用Symfony和Doctrine,我有一个多选列表框。需要根据条令查询生成多个默认值

$this->setWidgets(array(
  'folders' => new sfWidgetFormDoctrineChoice(array(
    'model' => 'FolderItem',
    'order_by' => array('name', 'asc'),
    'multiple' => true,
    'query' => FolderItemTable::getUserInstance($user),
  ))
));

这将为我获取所有文件夹项目的列表;但是,我希望通过文件夹列表预先选择它们。例如,如果我有
文件夹1
包含
项目a
项目b和
项目c
文件夹2
包含
项目d
项目e
;如果
文件夹1
被传入,我希望
项目a
项目b和
项目c
被选中,但我希望列表中
项目d
项目e
未被选中(但可选择)

如果您使用条令关系填充列表,您可以在表单类中执行类似操作

  $this->setDefault('folders', $this->object->Users->getPrimaryKeys());
您还可以传递包含要选择的值的数组

  $this->setDefault('folders', array(125,2049,12));