sfWidgetFormDoctrineChoiceGrouped render

Для моей таблицы категорий:

Categorie:
  actAs:  
    Timestampable: ~ 
    Sluggable:
      fields: [nom]
    NestedSet: ~
  columns:
    parent_id: { type: integer(8), notnull: false}
    nom:        { type: string(255), notnull: true, unique: true }
  relations:
    CategorieParent:    { onDelete: SET NULL, local: parent_id, class: Categorie, foreign: id, foreignAlias: CategorieEnfants}

я добавил в свою форму sfWidgetFormDoctrineChoiceGrouped с этой конфигурацией:

'categorie'     => new sfWidgetFormDoctrineChoiceGrouped(
                        array(
                            'group_by' => 'parent',
                            'order_by' => array('parent_id',''),
                            'model' => 'Categorie', 
                            'multiple' => true,
                            'method' => 'getNom',
                            )),

В рендере я хочу иметь

Categoire with no parent 1
  - child categroie
  - child categorie..

Categoire with no parent 2
  - child categroie
  - child categorie..

но в моем случае у меня есть рендер с:

Categoire with no parent 1
Categoire with no parent 2
Categoire with no parent 3
Categoire with no parent 1
  - child categroie
  - child categorie..

Спасибо

1 ответ

Решение

В ваших настройках есть несколько ошибок:

'group_by' => 'CategorieParent',
'order_by' => array('parent_id','ASC'),

group_by должно быть Имя отношения, чтобы использовать для группировки. Я думаю, что вы также можете использовать parent_id для group_by вариант.

Другие вопросы по тегам