如何在 Doctrine 中执行日期操作,而无需在 MySql 或其他数据库后端编写本机查询?
我正在浏览 Doctrine 的文档。
我想将我的 Code Igniter 代码库的模型部分迁移到 Doctrine ORM。
我编写了许多复杂的查询,包括日期操作,例如使用DATE_ADD等添加两个日期、添加迄今为止的天数等。Doctrine
的基本用法是它为您提供抽象,就像您一样将数据库后端从 MySQL 更改为 MSSQL 或其他,您的代码库受到的影响应该最小。
现在我想问 Doctrine 是否提供了一些日期操作的功能,或者我们必须编写 MySQL 原生查询?
非常感谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在所有情况下,我都建议使用 php 进行日期操作。但是,如果您想要 DQL(教义查询语言)中的一些糖分,您可以为其添加其他功能,有很多扩展 此处 按照文档了解如何挂钩它们这里
当然,学说不会让您使用具有水合功能的本机查询,因此如果您想拥有数据库的这种功能,请使用 PDO。此外,如果您使用doctrine2,还有行为扩展
In all cases I would recommend to use php for date operations. But if you want some sugar in DQL (doctrine query language) you can hook additional functions to it, there is a bunch of extensions here follow the documentation on how to hook them here
Of course doctrine will not let you use native queries with hydration, so if you want to have this power of your database use PDO. Also if you use doctrine2 there are behavioral extensions