默认情况下在sfWidgetFormDoctrineChoice(symfony)中选择多个项目

时间:2010-05-14 08:17:29

标签: symfony1 doctrine

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

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

这会为我提供所有文件夹项目的列表;但是,我希望它们是由文件夹列表预先选择的。例如,如果我Folder 1包含item a item bitem cFolder 2包含item ditem e;如果传递了Folder 1,我希望选择item a item bitem c,但我希望列表中有item ditem e,但不是选中(但可选择)

1 个答案:

答案 0 :(得分:2)

如果您使用Doctrine关系填充列表,则可以在表单类中执行以下操作

  $this->setDefault('folders', $this->object->Users->getPrimaryKeys());

您还可以传递包含要选择的值的数组

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