2012-09-20 64 views
0

我想根據登錄用戶過濾SF-1.4後端模塊中選擇框的選項。 修改/擴展SQL查詢的正確位置在哪裏,即創建SELECT-Box?如何擴展在Symfony 1.4中生成後端表單字段的查詢?

+0

您使用的推進或學說?什麼版本? –

+0

我正在運行Doctrine,symfony版本1.4.17。 – mene

+0

我假設你正在使用與Symfony 1.4捆綁在一起的Doctrine版本。如果我沒有記錯的話,那是教義1.2。 –

回答

2

只需在窗體過濾器類中覆蓋該選擇框的小部件/驗證程序即可。 我可以給你更多的信息,但我需要知道你使用的ORM。


兩個sfWidgetFormDoctrineChoice和sfValidatorDoctrineChoice有一個名爲query的選項。使用它並設置您的自定義查詢。所以,你需要做這樣的事情在你的過濾器類:

$query = Doctrine::getTable('Table')->createQuery()->where('field = ?', $field_value); 

$this->widgetSchema['your_form_field']->setOption('query', $query); 

$this->validatorSchema['your_form_field']->setOption('query', $query); 

`

+0

我正在使用Doctrine。我想我只需要在查詢中添加一個WHERE子句,即獲取Widget-Options。我無法弄清楚如何做到這一點。 – mene

+0

這工作完美。謝謝! – mene

相關問題