问题标签 [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.

0 投票
2 回答
1494 浏览

doctrine-orm - Doctrine2 + 加入条件

首先,我要非常感谢 Doctrine 开发人员,你们太棒了!我的问题如下:

我有三张桌子:

我想按人获取电子邮件列表:

工作正常。但问题是我还想在join子句中设置添加条件isActive=1。如何在 Doctrine2 中解决这个问题?谢谢。

0 投票
2 回答
430 浏览

php - 关注点分离 - 在 MVC 结构中刷新()的位置(控制器与服务层)

我有一个应用程序,我使用 PHP 与 Zend 框架和 Doctrine2 作为 ORM。我的问题与控制器最好应该了解多少底层模型和持久层有关。理想情况下,我自己会说这“什么都不是”——控制器不应该知道实体是如何/何时被持久化的。但是我觉得这并不总是最好的解决方案(?)。

我尝试遵循“关注点分离”设计指南。我通过创建一个在我的模型上执行 CRUD 操作的服务层来做到这一点。请参见以下示例:

如您所见,控制器对持久性一无所知,但要获得此结果,我需要在每次调用服务层的 createXXX() 或 updateXXX() 方法时同时执行 persist() 和 flush()。我宁愿做这样的事情:

但这会导致 Doctrine2 失败,因为它确实以错误的顺序将对象持久保存到数据库中 - 特权在部分之前保留(不知道是否可以指示 Doctrine 以有序的方式执行此操作??)。权限为尚未保留的部分获取错误的 ID。

无论如何,这里的大问题是我是否应该尝试推迟刷新,直到所有对象都被创建并设置好关系。目标是让一个事务完成所有写入数据库 - 因此必须由控制器触发(因为它是唯一知道何时完成对象和关系构建的事务),从而“污染”控制器与持久层?

0 投票
2 回答
1885 浏览

xml - XML 验证失败

我的 XML

我在尝试通过 Netbeans 验证它时得到了这个结果

我也未能在http://www.validome.org/xml/validate/上验证 XML

我如何确保它是有效的?

0 投票
1 回答
2220 浏览

doctrine-orm - 将策略设置为 NONE 的主键设置值

我有一个看起来像这样的实体类:

基于 Doctrine 2 标识符生成策略部分:

NONE:告诉 Doctrine 标识符是由您的代码分配(并因此生成)的。必须在将新实体传递给 EntityManager#persist 之前进行分配。NONE 与完全不使用 @GeneratedValue 相同。

这意味着,我需要一种方法,以便在调用persist 之前设置值。

调用./doctrine orm:generate-entities不会生成setter函数,我必须在类中手动编写吗?

这是正确的方法吗?

0 投票
1 回答
812 浏览

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).

0 投票
1 回答
1810 浏览

php - 教义:如何获取该查询?

我将 Doctrine 2 与 PDO_MYSQL 一起使用,我想查询该查询:

所以我尝试了:

但我得到这个错误:

那么我该如何查询该查询呢?

0 投票
1 回答
960 浏览

database - 在教义2中生成模型

在学说 1 中,可以生成模型数据库。如何在cli的教义2中做到这一点?

0 投票
1 回答
1678 浏览

xml - Zend 1.10 / Doctrine 2,无法使用 XML 映射处理模式

我目前正在尝试将 ORM Doctrine 2 与 Zend Framework 集成。我尝试使用 XMLDriver。

在我尝试生成架构之前,一切正常。事实上,实体是精心创建的。

所以,这里是引导文件:

}

最后是教义.php 文件:

这是产品示例的 XML 映射文件:

正如我所说,当我尝试创建实体时,一切正常:

并且在 Application\models\entities\ 目录中生成 Product.php。

但是当我尝试生成架构时,我得到以下异常/错误:

谢谢你的帮助。

0 投票
3 回答
1682 浏览

php - 模块化结构的 Zend Framework + Doctrine 2

我将 Zend Framework 与模块一起用于我的应用程序,并且我对以相同方式集成 Doctrine 2 感兴趣:

一个模块包含:

  • 控制器
  • 楷模
  • 意见
  • 帮手

Doctrine 2 的问题在于它需要一个实体目录和一个代理目录。我希望实体目录成为我的模块化结构中的模型目录,并且根据我的研究,我还没有找到解决方案。

目前,使用默认模块,元数据实现如下所示:

如果我想添加一个新模块,比如说“cms”,我无法使用 Doctrine 管理那里的模型。

有没有人有解决这个问题的方法?

0 投票
2 回答
2790 浏览

php - Doctrine1 和 Doctrine2 有什么区别?

我才开始发现 Doctrine 并注意到官方文档指向 1.2,因为这似乎是当前的稳定版本。

我还注意到,与 Doctrine 1 相比,很多人似乎提到 Doctrine 2 是一个“不同的世界”,但是在查看What's new页面时,我并没有真正看到大量的变更日志。我猜这个列表只显示了与之前的 2.x 版本相比的最新添加。在谷歌搜索同样的问题后,我希望能找到一个很好的差异汇总,但我似乎看不到。

我目前正在阅读 Doctrine 1 手册,并且在我读完 Doctrine 2 后也会这样做,但是对重大变化的适当概述将非常感激,所以我的问题是:

Doctrine1 和 Doctrine2 有什么区别?