Выбор нескольких элементов по умолчанию в sfWidgetFormDoctrineChoice (symfony) - PullRequest
2 голосов
/ 14 мая 2010

Используя 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, но не выбран (но можно выбрать)

1 Ответ

2 голосов
/ 14 мая 2010

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

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

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

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