Как отсортировать значения полей формы через файл генератора с помощью symfony?

#symfony1

#symfony1

Вопрос:

как у вас дела, ребята?

Я хочу отсортировать (в порядке возрастания или убывания) поля формы через генератор.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]
  

Но это не работает успешно.
пожалуйста, есть предложения?

Спасибо

Ответ №1:

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

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

Это приведет к глобальной сортировке всех списков участников в вашем приложении

Ответ №2:

У меня была похожая проблема, но я использую плагин 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 использует для получения данных в поле.