作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我很想知道从像“$selectObj = getSomethingByName($name)”这样的方法返回一个选择对象然后将它传递给另一个像“getResult($selectObj)”这样的方法是否是个好主意会成功的。这个想法是能够将选择对象传递给任何有用的函数,如“setLimit(10)”或 addCriteria(“blabla”),具体取决于我的模型...
但这样做是个好主意吗?它可能是“不安全的”,因为用户将能够自己修改对象,而我不希望这样做..
我曾经像上面那样做简单的方法,但是将结果作为一行返回......但是当你有依赖于不同表的复杂语句时有时会很痛苦..
最佳答案
您面临的问题(复杂的语句取决于不同的表)是 ORM 框架普遍存在的一个老问题。 SQL 可以做很多事情,而 ORM 做的不是很好。不可避免地,您必须通过在 Controller 或 View 中编写大量复杂代码来弥补复杂性的差异。
相反,使用 Domain Model将复杂的多表数据库逻辑模式化并封装到一个地方,这样您的 Controller 和 View 就不必了解所有杂七杂八的细节。他们只知道您的域模型类的接口(interface),并且该类唯一负责知道如何从数据库中获取信息。
关于php - 您如何看待返回选择对象而不是语句结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/854359/
我是一名优秀的程序员,十分优秀!