2011-08-24 33 views
2

我需要在模型後生成的表單中爲sfValidatorDoctrineChoice使用提交的值。Symfony獲取表單類中的提交值

我試圖$this->getValue('country')但它不工作:

$query2 = Doctrine_Core::getTable('sate')->createQuery('s') 
      ->select('s.id') 
      ->where('s.idcountry = ?', $this->getValue('country')); 

我怎樣才能像參數?如果你到你需要使用$this->form->getObject()->getCountry()動作類否則

$query2 = Doctrine_Core::getTable('sate')->createQuery('s') 
      ->select('s.id') 
      ->where('s.idcountry = ?', $this->getObject()->getCountry()); 

回答

0
$somevar = sfContext::getInstance()->getRequest()->getParameter('register') 
$query2 = Doctrine_Core::getTable('sate')->createQuery('s') 
     ->select('s.id') 
     ->where('s.idcountry = ?', $somevar['country']); 

這一個工程。

5

如果你是成*表格試試這個。

+0

'SELECT COUNT(*)AS num_results FROM sate WHERE idcountry =''AND id ='2''它仍然不會爲'idcountry'返回該值 – Daniel

0

記住,sfContext是不是免費的:)

測試一堆依賴於上下文的代碼是真的很辛苦,因爲你需要引導整個symfony的範圍內,從而失去測試的隔離。

此外,請記住,您正在訪問窗體中的整個Request對象,難聞的氣味。

請嘗試遵循Fabio Cinerchia的提示。

相關問題