我最近开始了一个基于 FuelPHP 的项目。所以在这个网站上我会有很多关系。
我的问题是,使用查询生成器和 ORM 是个好主意吗?
例如,我是否将 ORM 仅用于关系,并使用查询构建器在数据库中插入更新和删除记录。
或者这不是一个好主意?
我最近开始了一个基于 FuelPHP 的项目。所以在这个网站上我会有很多关系。
我的问题是,使用查询生成器和 ORM 是个好主意吗?
例如,我是否将 ORM 仅用于关系,并使用查询构建器在数据库中插入更新和删除记录。
或者这不是一个好主意?
ORM 相当强大;它具有创建、读取、更新和删除 (CRUD) 功能。 http://docs.fuelphp.com/packages/orm/crud.html内置在其中,因此应该可以在大多数情况下使用 ORM。话虽如此,我目前正在开展一个项目,我们选择同时使用 ORM 和查询构建器。
FuelPHP 论坛上有一个帖子讨论了这个问题:http: //fuelphp.com/forums/topics/view/7345
通常不是问题,但您必须考虑到 ORM 确实会导致缓存(基于每个请求)。
因此,如果您运行 ORM 查询来检索记录,然后运行 QB 查询来修改这些记录,ORM 仍将返回未修改的版本。即使您再次运行相同的 ORM 查询(因为它会看到数据被缓存,并且不会运行另一个查询来检索它们)。