gpt4 book ai didi

php - 如何从 Zend_Db 模型类中的另一个表中获取数据?

转载 作者:行者123 更新时间:2023-12-03 23:03:03 25 4
gpt4 key购买 nike

我有两个表 registriesnames。因此,我有两个模型类。我在注册表 模型中编写一个方法,我需要获取名称 表/模型中的所有名称。我是怎么做到的?

一个简单的 new Names() 应该工作吗?但是,推荐吗?

最佳答案

是的,可以在另一个表类的方法中创建另一个表类的实例。

但是如果您有涉及多个表的应用程序工作,最好设计一个封装该应用程序工作的类,并从中使用这两个表。

这就是为什么将表格称为模型是不准确的。 Zend_Db_Table 文档中没有任何地方将表称为模型。

模型代表您应用程序的某些部分,它可能涉及多个表以完成其工作。与您的表相对应的类只是一个表。

将模型与表格分离!


关于您的评论:您仍然认为模型扩展了 Zend_Db_Table_Abstract —— 它没有!

模型不是数据访问类,它是应用程序的一个单元。它不扩展 Zend Framework 的任何部分。

模型和表之间的关系是HAS-A,而不是IS-A

class MyRegistryModel // extends nothing
{
/**
* @var Zend_Db_Table_Abstract
*/
protected $_registryTable;

/**
* @var Zend_Db_Table_Abstract
*/
protected $_namesTable;

public function __construct()
{
$this->_registryTable = new RegistryTable();
$this->_namesTable = new NamesTable();
}

public function getDailyReport()
{
// use the tables as needed to build the report
}
}

关于php - 如何从 Zend_Db 模型类中的另一个表中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2842435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com