2010-06-15 4 views
0

Zend와 데이터베이스 클래스에서 새로운 점이 있습니다. 내 행에 Zend_Db_Table_Row_Abstract를 매핑하는 데 문제가 있습니다. 문제는 Zend_Db_Table_Row_Abstract 클래스를 확장하는 클래스 (Job)에 매핑하려고 할 때마다 데이터베이스 데이터를 더 이상 수신 할 수 없다는 것입니다. 오류가 발생하지 않습니다. 데이터를 얻으려고하면 null이 반환됩니다. 여기 확장 된 Zend_Db_Table_Row_Abstract가 값을 반환하지 않습니다.

지금까지 내 코드입니다 :

채용 :

class Jobs extends Zend_Db_Table_Abstract { 
    protected $_name = 'jobs'; 
    protected $_rowsetClass = "Job"; 

    public function getActiveJobs() 
    {  
     $select = $this->select()->where('jobs.jobDateOpen < UNIX_TIMESTAMP()')->limit(15,0); 

     $rows = $this->fetchAll($select); 
     return $rows; 
    } 
} 

작업 :

class Job extends Zend_Db_Table_Row_Abstract { 
    public function getCompanyName() 
    { 
     //Gets the companyName for this row (Is on another table), just for example 
    } 
} 

컨트롤러 :

$oJobs = new Jobs(); 
    $aActiveJobs = $oJobs->getActiveJobs(); 
    foreach ($aActiveJobs as $value) { 
     var_dump($value->jobTitle); 
    } 

내가 제거 "보호 $ _rowsetClass = "직업"; " 라인, 그래서 테이블 행은 내 자신의 클래스에 매핑되지 않습니다, 나는 모든 jobTitles 완벽하게 얻을. 여기서 내가 뭘 잘못하고 있니? 사전에

감사합니다,

웨슬리는

답변

1

_rowClass_rowsetClass 있습니다. JobZend_Db_Row_Abstract이지만, Zend_Db_Table_Abstract에서는 Job을 행 집합 클래스로 설정합니다.

class Jobs extends Zend_Db_Table_Abstract { 
    protected $_name = 'jobs'; 
    protected $_rowClass = "Job"; 

    public function getActiveJobs() 
    {  
     $select = $this->select()->where('jobs.jobDateOpen < UNIX_TIMESTAMP()')->limit(15,0); 

     $rows = $this->fetchAll($select); 
     return $rows; 
    } 
} 
+0

고마워, 내 문제가 해결되었습니다. – WesleyE

+0

도움이된다는 점 – Ballsacian1

관련 문제