繁体   English   中英

如何从模型处理数据库逻辑

[英]How to handle database logic from model

我从类图创建了企业系统模型,并将其转换为php面向对象的代码。

我现在所拥有的只是一个空模型,它可以关联并且可以处理连接。 现在下一步是前进。 我有一个数据库,必须将对象放入数据库中。

现在我这边缺乏经验。 我有这个模型,由于php渲染了一个视图并提出了一次渲染视图的请求,我有点困惑。 无法将我的所有实体都从数据库中加载出来,然后将我的模型填充到内存中,然后再使用它,因为这样做可能会很大。

有谁知道在我的模型中仅加载所需数据然后使用它的任何方法吗? 也许是对书或文章的建议?

谢谢!

听起来您正在运行“ MV”(不存在)而不是“ MVC”设计模式。

您的控制器发生了什么事? 您的控制器应将请求路由到该特定视图所需的模型实体,然后您可以根据需要使用响应。

如果模型表示的信息太大,则说明您做错了。 您应该考虑延迟加载数据,而仅加载严格必要的数据。 自然,您的控制器将决定这一点,并将所有内容路由到模型。

编辑以回应评论

您有几种方法。 如果您使用的是Zend_Db_Table_Abstract,则您可以将该类作为子类并将其用作模型。 这可能是最简单的。 然后,您仅将其用作模型。 设置$_name = "myComments" ,然后仅创建一个名为getComments的方法。

然后,在Zend_Db_Table_Abstract的子类中的方法中,可以创建$ select。 然后,您只需返回模型的响应即可。

所以

    $rows = $table->fetchAll($select);

然后返回$ rows; 然后,您将把$ rows返回到控制器中。 您已经通过$ model = new Comments();在控制器中加载了模型。 然后使用$ result = $ model-> getComments();进行提取

有点不匹配,但这应该向您显示应该如何做。 您只需要立即创建模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM