带加入的Zend模型

时间:2010-11-22 08:09:38

标签: php zend-framework

我有一个扩展Zend_Db_Table_Abstract的NewsModel。新闻表包括:newsid,title,text和creater。 creater引用用户表的用户标识。用户表由用户标识和用户名组成。

现在我希望将用户放在NewsModel中。目前

目前我在模特中这样做:

$select = $this->select(Zend_Db_Table::SELECT_WITH_FROM_PART)
                        ->setIntegrityCheck(false);
        $select->join('muskelpilot_users',
        'muskelpilot_users.userid= muskelpilot_news.creater',
        'username');
        return $this->fetchAll($select);

没有方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

我认为RageZ的正确之处在于,如果不使用某种ORM,就不能拥有跨越多个表的单个模型。

但是,您可以轻松地拥有User_Row-> getNewsArticles()和News_Row-> getUser()方法。

答案 1 :(得分:1)

您可以在模型中指定关系,以便执行此操作:

$newsModel = new NewsModel();
$news = $newsModel->find(1); // find a row, returns an instance of Zend_Db_Table_Row
$user = $news->findDependentRowset('User'); // returns instance of Zend_Db_Table_Rowset

请点击此处了解详情:http://framework.zend.com/manual/en/zend.db.table.relationships.html