Symfony1 在sfWidgetFormPropelChoice中使用optgroup,因为列的值

Symfony1 在sfWidgetFormPropelChoice中使用optgroup,因为列的值,symfony1,propel,Symfony1,Propel,我在一个使用symfony1.2的项目中(我知道这已经很旧了,但我对此无能为力) 我有一个SFWidgetFormPropertyChoice小部件,它从一个外键(比如表a中存在的外键)提供选项。我想使用optgroup HTML元素对该外键进行分组,因为表a中有另一列 所以我有这样的想法: $this->widgetSchema['B_has_A_list'] = new sfWidgetFormPropelChoiceMany(array( 'model' => 'Tabl

我在一个使用symfony1.2的项目中(我知道这已经很旧了,但我对此无能为力)

我有一个SFWidgetFormPropertyChoice小部件,它从一个外键(比如表a中存在的外键)提供选项。我想使用optgroup HTML元素对该外键进行分组,因为表a中有另一列

所以我有这样的想法:

$this->widgetSchema['B_has_A_list'] = new sfWidgetFormPropelChoiceMany(array(
   'model' => 'TableA',
));
我想要一些简单的东西:

$this->widgetSchema['B_has_A_list'] = new sfWidgetFormPropelChoiceMany(array(
   'model' => 'TableA',
   'optgroup' => 'ColumnInTableA', //That's not possible. It would group options grouping by ColumnInTableA using the optgroup HTML element
));
你知道实现这一目标的另一种简单方法吗。或者您知道实现这一点的任何扩展SFWidgetFormProperty选择吗


谢谢。

好的,我扩展了symfony小部件来实现这一点。如果有人感兴趣,请访问github:

要使用,您必须定义与
sfWidgetFormPropelChoice
相同的必需选项,再加上
optgroup\u列
选项,其中包含要用作optgroup的列的PhpName

例:

我还为教义添加了一个版本

$this->widgetSchema['field'] = new sfWidgetFormPropelChoiceOptgroup(array(
    'model' => 'Table',
    'optgroup_column' => 'Column',
));