首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展Zend_Db_Table_Row_Abstract

扩展Zend_Db_Table_Row_Abstract
EN

Stack Overflow用户
提问于 2010-02-18 15:29:40
回答 2查看 1.6K关注 0票数 2

我想要扩展Zend_Db_Table_Row_Abstract,使其除了表中的字段之外还有一些额外的字段。

举例说明。

我有过

代码语言:javascript
复制
class Automobili_Model_Car extends Zend_Db_Table_Abstract { 
        protected $_name = 'car'; 
        protected $_rowClass = 'Automobili_Model_Row_Car'; 
} 

代码语言:javascript
复制
class Automobili_Model_Row_Car extends Zend_Db_Table_Row_Abstract { 
} 

Car表有model_id,它引用了模型表(corsa,clio...),我想让Automobili_Model_Row_Car从依赖表model中加载模型,而不仅仅是从car表中加载model_id。

做这件事的正确方式是什么?

你好,萨萨·斯塔门科维奇。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-18 16:04:06

您有几个选项:

您有前面提到的findDependentRowset()和findParentRow()方法。对于那些我认为应该阅读文档的人:http://framework.zend.com/manual/en/zend.db.table.relationships.html。我从来没有真正掌握过这种方法的诀窍,所以我不会说太多。

另一种选择是Zend_Db_Table_Row_Abstract有一个可以覆盖的init()函数。您可以从那里加载另一行,每次创建Car对象时,它都会加载模型。然而,对于每个对象来说,这可能是很昂贵的,因为您需要对数据库进行另一个查询。如果在一个查询中加载50行,那么在创建Car对象时将执行另外50个查询。

另一种选择是向Car类添加一个getModel()函数。此函数将在请求时延迟加载Model类。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2010-02-18 15:38:55

你能发布更多关于你希望它是如何工作的细节吗…我的意思是,您总是可以分别使用findDependentRowsetfindParentRow来获取依赖行集或父行集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2286929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档