Как отсортировать значения полей формы через файл генератора, используя symfony? - PullRequest
0 голосов
/ 27 апреля 2011

Как вы все, ребята?

Я хочу отсортировать (в порядке возрастания или убывания) поля формы через generator.yml в symfony.Я имею в виду, у меня есть 2 таблицы событий и участников.Связь между этими двумя таблицами много-много.Я хочу, чтобы при добавлении / редактировании события список участников сортировался по их именам.

Я пытался использовать:

config:
      actions: ~
      fields:
        title:           { help: Title of the event ,label: Event Name *}
        event_datetime:  { help: Set the date and time of event ,label: Date time *}
        details:   { help: Details related to event ,label: Details *}
        venue_id:           { help: Select venue }
        is_visible:   { help: Select is visible or not}
        members_list:           { help: List of members }
        slug: { help: User Friendly URL,label: User Friendly URL }
      sort: [mmebers_list, asc]

Но он не работает успешно,Любое предложение, пожалуйста?

Спасибо

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

Попробуйте добавить это в свой schema.yml

Member:
  actAs:
    Timestampable:
    Sluggable:
      unique: true
      fields: [name]
      canUpdate: true
  options:
    orderBy: name ASC

Это отсортирует все списки участников по всему миру в вашем приложении

0 голосов
/ 20 сентября 2011

У меня была похожая проблема, но я использую плагин sfGuardUser и не хочу менять их схему.Мне пришлось изменить файлы действий и добавить:

public function executeNew(sfWebRequest $request)
{
    parent::executeNew($request);
    $sql = Doctrine_Query::create()->from('sfGuardUser u')->innerJoin("u.Profile p")->where('u.is_super_admin = ?',false)->orderBy('p.lastname');
    $this->form->getWidget('user_id')->setOption('query',$sql);
}

Вам нужно передать запрос, который Symfony использует для получения данных в поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...