symfony1symfony-1.4symfony-formsdoctrine-1.2

Symfony 1.4 order a widgets data


I have a sfWidgetFormDoctrineChoiceMany widget, I was wondering if there was a way to order the data inside it in ascending order

  'locations_list'  => new sfWidgetFormDoctrineChoiceMany(array('model' => 'Location')),

Solution

  • To set ordering on sfWidgetFormDoctrineChoiceMany (and sfWidgetFormDoctrineChoice too) you should provide a order_by option. Like this:

    // ...
    'locations_list' => new sfWidgetFormDoctrineChoiceMany(array(
        'model'    => 'Location',
        'order_by' => array('Name', 'asc'), // <--- replace 'Name' with your column name in camel-case format
    )),
    // ...
    

    When I need to get a quick reference on widget supported options, I always go to it's source. Usually they have a nice documentation right in PHP comments. Check this link to sfWidgetFormDoctrineChoice source:

    https://github.com/nationalfield/symfony/blob/a2d4442dfeb26355e89360f6e725c1f19c3a1ee0/lib/plugins/sfDoctrinePlugin/lib/widget/sfWidgetFormDoctrineChoice.class.php#L33