0

我用小部件构建了一个表单。其中之一是我使用 sfWidgetFormPropelChoice 构建的 Multichoices表单。进入我的 customForm.class.php 我有这个:

customForm.class.php:

class customForm extends BaseCustomForm{
  public function configure(){
   ....
   $this->setWidgets(array(
    ...
    'myMultiChoice'=>new sfWidgetFormPropelChoice(array('model'=>'custom', 'method'=>'getLotsOfThings'));
    ...
  ));
 }
}

选项'method'是获取一个'getLotsOfThings'没有任何参数的方法。我怎样才能通过参数传递这个方法?

我尝试'method'=>'getLotsOfThings('.$value.')'了,但这不起作用!

4

1 回答 1

1

您应该改用该criteria选项(请参阅代码),它使您能够进行复杂的查询来检索项目。

例如:

$c= new Criteria();
$c->add(CountryPeer::idcontinent, 1);

$this->widgetSchema['departement_id'] = new sfWidgetFormPropelChoice(array(
  'model'     => 'Country', 
  'add_empty' => true, 
  'criteria'  => $c
));

在创建表单时将条件作为选项提供给表单。

于 2012-08-27T12:02:22.367 回答