0

I'm quite new to Zend and the database classes from it. I'm having problems mapping a Zend_Db_Table_Row_Abstract to my rows. The problem is that whenever I try to map it to a class (Job) that extends the Zend_Db_Table_Row_Abstract class, the database data is not receivable anymore. I'm not getting any errors, trying to get data simply returns null.

Here is my code so far:

Jobs:

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;
    }
}

Job:

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

Controller:

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

When I remove the "protected $_rowsetClass = "Job";" line, so that the table row is not mapped to my own class, I get all the jobTitles perfectly. What am I doing wrong here?

Thanks in advance,

Wesley

1 Answer 1

1

There is a _rowClass and a _rowsetClass. You have Job extending Zend_Db_Row_Abstract but in your Zend_Db_Table_Abstract you are setting the Job to be the rowset class.

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;
    }
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.