问题标签 [doctrine-orm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
doctrine-orm - Doctrine2 + 加入条件
首先,我要非常感谢 Doctrine 开发人员,你们太棒了!我的问题如下:
我有三张桌子:
我想按人获取电子邮件列表:
工作正常。但问题是我还想在join子句中设置添加条件isActive=1。如何在 Doctrine2 中解决这个问题?谢谢。
php - 关注点分离 - 在 MVC 结构中刷新()的位置(控制器与服务层)
我有一个应用程序,我使用 PHP 与 Zend 框架和 Doctrine2 作为 ORM。我的问题与控制器最好应该了解多少底层模型和持久层有关。理想情况下,我自己会说这“什么都不是”——控制器不应该知道实体是如何/何时被持久化的。但是我觉得这并不总是最好的解决方案(?)。
我尝试遵循“关注点分离”设计指南。我通过创建一个在我的模型上执行 CRUD 操作的服务层来做到这一点。请参见以下示例:
如您所见,控制器对持久性一无所知,但要获得此结果,我需要在每次调用服务层的 createXXX() 或 updateXXX() 方法时同时执行 persist() 和 flush()。我宁愿做这样的事情:
但这会导致 Doctrine2 失败,因为它确实以错误的顺序将对象持久保存到数据库中 - 特权在部分之前保留(不知道是否可以指示 Doctrine 以有序的方式执行此操作??)。权限为尚未保留的部分获取错误的 ID。
无论如何,这里的大问题是我是否应该尝试推迟刷新,直到所有对象都被创建并设置好关系。目标是让一个事务完成所有写入数据库 - 因此必须由控制器触发(因为它是唯一知道何时完成对象和关系构建的事务),从而“污染”控制器与持久层?
doctrine-orm - 将策略设置为 NONE 的主键设置值
我有一个看起来像这样的实体类:
基于 Doctrine 2 标识符生成策略部分:
NONE:告诉 Doctrine 标识符是由您的代码分配(并因此生成)的。必须在将新实体传递给 EntityManager#persist 之前进行分配。NONE 与完全不使用 @GeneratedValue 相同。
这意味着,我需要一种方法,以便在调用persist 之前设置值。
调用./doctrine orm:generate-entities
不会生成setter函数,我必须在类中手动编写吗?
这是正确的方法吗?
php - Doctrine 2 Model: How set table name with "-" in it?
How should I name a Doctrine 2 Model table row variable (e.g. url-name
is the table row name) and I tried it with that:
But it doesn't fetch the $urlName row (this row result is empty but other rows/the rest is fetched correct).
php - 教义:如何获取该查询?
我将 Doctrine 2 与 PDO_MYSQL 一起使用,我想查询该查询:
所以我尝试了:
但我得到这个错误:
那么我该如何查询该查询呢?
database - 在教义2中生成模型
在学说 1 中,可以生成模型数据库。如何在cli的教义2中做到这一点?
xml - Zend 1.10 / Doctrine 2,无法使用 XML 映射处理模式
我目前正在尝试将 ORM Doctrine 2 与 Zend Framework 集成。我尝试使用 XMLDriver。
在我尝试生成架构之前,一切正常。事实上,实体是精心创建的。
所以,这里是引导文件:
}
最后是教义.php 文件:
这是产品示例的 XML 映射文件:
正如我所说,当我尝试创建实体时,一切正常:
并且在 Application\models\entities\ 目录中生成 Product.php。
但是当我尝试生成架构时,我得到以下异常/错误:
谢谢你的帮助。
php - 模块化结构的 Zend Framework + Doctrine 2
我将 Zend Framework 与模块一起用于我的应用程序,并且我对以相同方式集成 Doctrine 2 感兴趣:
一个模块包含:
- 控制器
- 楷模
- 意见
- 帮手
Doctrine 2 的问题在于它需要一个实体目录和一个代理目录。我希望实体目录成为我的模块化结构中的模型目录,并且根据我的研究,我还没有找到解决方案。
目前,使用默认模块,元数据实现如下所示:
如果我想添加一个新模块,比如说“cms”,我无法使用 Doctrine 管理那里的模型。
有没有人有解决这个问题的方法?
php - Doctrine1 和 Doctrine2 有什么区别?
我才开始发现 Doctrine 并注意到官方文档指向 1.2,因为这似乎是当前的稳定版本。
我还注意到,与 Doctrine 1 相比,很多人似乎提到 Doctrine 2 是一个“不同的世界”,但是在查看What's new页面时,我并没有真正看到大量的变更日志。我猜这个列表只显示了与之前的 2.x 版本相比的最新添加。在谷歌搜索同样的问题后,我希望能找到一个很好的差异汇总,但我似乎看不到。
我目前正在阅读 Doctrine 1 手册,并且在我读完 Doctrine 2 后也会这样做,但是对重大变化的适当概述将非常感激,所以我的问题是:
Doctrine1 和 Doctrine2 有什么区别?