2011-08-05 56 views
0

如何獲得行動中的號碼ID?例如在行動類中獲得價值

class jobActions extends sfActions 
{ 
     public function executeIndex(sfWebRequest $request) 
     { 
     $this->jobeet_jobs = Doctrine::getTable('JobeetJob') 
      ->createQuery('a') 
      ->where('id = 3') 
      ->execute(); 

     echo $this->jobeet_jobs->getId(); //doesnt work 
     } 

     public function executeTest(sfWebRequest $request) 
     { 
     $this->id = $this->jobeet_jobs->getId(); /doesnt work 
     } 
} 
+0

你得到任何錯誤?查詢是否以正確的語法向數據庫發送? – scube

回答

1

由於execute返回對象的數組,您可能需要通過他們迭代recieving的ID或使用$this->jobeet_jobs = Doctrine::getTable('JobeetJob') ->createQuery('a') ->where('id = 3') ->fetchOne();

+0

當你使用symfony時,爲什麼不使用find('3')?這將嘗試使用主鍵並返回只有一個結果,這應該適合您的需要! – Sgoettschkes

3

在你executeIndex功能您檢索Doctrine_Collection(列表)。更換->execute();fetchOne();

您也可以使用以下一些方便的功能:

->find($yourID); // Returns ONE object 
->findByColumnnamehere($yourValue); // Returns LIST of objects 
->findOneByColumnnamehere($yourValue); // Returns ONE object 
+0

確保'$ yourID'是主鍵。也可能是' - > find(1,2)'(假設你有兩個初選)或' - > find(array(1,2))'(返回一個id = 1或id = 2的集合) – Flask