gpt4 book ai didi

php - 您如何看待返回选择对象而不是语句结果?

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:09 26 4
gpt4 key购买 nike

我很想知道从像“$selectObj = getSomethingByName($name)”这样的方法返回一个选择对象然后将它传递给另一个像“getResult($selectObj)”这样的方法是否是个好主意会成功的。这个想法是能够将选择对象传递给任何有用的函数,如“setLimit(10)”或 addCriteria(“blabla”),具体取决于我的模型...

但这样做是个好主意吗?它可能是“不安全的”,因为用户将能够自己修改对象,而我不希望这样做..

我曾经像上面那样做简单的方法,但是将结果作为一行返回......但是当你有依赖于不同表的复杂语句时有时会很痛苦..

最佳答案

您面临的问题(复杂的语句取决于不同的表)是 ORM 框架普遍存在的一个老问题。 SQL 可以做很多事情,而 ORM 做的不是很好。不可避免地,您必须通过在 Controller 或 View 中编写大量复杂代码来弥补复杂性的差异。

相反,使用 Domain Model将复杂的多表数据库逻辑模式化并封装到一个地方,这样您的 Controller 和 View 就不必了解所有杂七杂八的细节。他们只知道您的域模型类的接口(interface),并且该类唯一负责知道如何从数据库中获取信息。

记住:模型“HAS-A”表(或多个表)——而不是模型“IS-A”表。

关于php - 您如何看待返回选择对象而不是语句结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/854359/

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