2012-08-27 57 views
0

我使用小部件構建窗體。其中之一是Multichoices表格,我使用sfWidgetFormPropelChoice構建。進入我的customForm.class.php我有這樣的:如何傳遞一個參數爲sfWidgetFormPropelChoice(Symfony)選項的方法?

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.')'但這不工作!

回答

1

您應該不得不使用criteria選項(see the code),該選項可讓您具有複雜查詢以檢索項目。

例如:

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

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

給的標準作爲一個選項,以在您創建它。

相關問題