Выбор нескольких элементов по умолчанию в sfWidgetFormDoctrineChoice (symfony)

Используя 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 b и item c, и Folder 2, содержащий item d и item e; если Folder 1 передается, я хочу, чтобы item a item b и item c были выбраны, но я хочу, чтобы item d и item e были в списке, но не выбраны (но доступны для выбора)


person Kevin Lacquement    schedule 14.05.2010    source источник


Ответы (1)


Если вы используете отношение Doctrine для заполнения списка, вы можете сделать что-то подобное в своем классе формы.

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

Вы также можете передать массив со значениями, которые нужно выбрать

  $this->setDefault('folders', array(125,2049,12));
person Benoit    schedule 14.05.2010