问题标签 [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 投票
4 回答
28676 浏览

entitymanager - 在 Doctrine 2.0 实体中使用 EntityManager

我有 2 个实体:国家(id、名称)和映射(id、对象、internalId、externalId)。Country 和 Mapping 没有关联(因为 Mapping 不仅有国家的行)。我需要使用以下条件获取国家/地区的外部 ID:

  • country.id = mapping.internalId
  • mapping.object = 'country'

所以我计划在 Country 添加函数 getExternalId()

问题:

  1. 在实体内部使用 EntityManager 是一种好习惯吗?如果不是,请解释在我的情况下如何获取外部 ID?
  2. 也许可以使用 yaml 文件将 Country 和 Mapping 关联起来?

提前致谢!

0 投票
4 回答
43516 浏览

sql - 如何在 Doctrine 2.0 中编写 UNION

如何在 Doctrine 2.0 中编写这个 SQL 查询(并获取结果)?

0 投票
3 回答
9559 浏览

php - Doctrine2 多对一关联不会使用 JOIN 查询

我有一个Car与 entity 具有多对一关系的实体Owner。如果我选择所有汽车,Doctrine 会在Car表上进行一次查询,然后在Owner表上为每辆汽车进行一次查询。Car因此,获取 N 辆汽车变成了 N+1 个查询,而不是和Owner表之间的单个 JOIN 查询。

我的实体如下:

如果我想列出汽车及其所有者,我会:

现在这一切都运行良好,除了 Doctrine 为每辆车发出查询。

当然,我希望我的查询日志看起来像这样:

不管我有fetch="EAGER"没有fetch="LAZY"关系,即使我在两个实体之间使用 JOIN 进行自定义 DQL 查询,$car->getOwner()仍然会导致 Doctrine 查询数据库(除非我使用 EAGER,在这种情况下$repo->findAll()会导致所有这些)。

我在这里是不是太累了,这就是它应该工作的方式 - 或者有没有一种聪明的方法来强制 Doctrine 执行 JOIN 查询?

0 投票
2 回答
1325 浏览

php - Doctrine2 是否有命名范围的模拟?

Doctrine2 是否具有类似于 ActiveRecord 的命名范围的功能?

0 投票
1 回答
906 浏览

sql-order-by - 教义2按关联表排序

我有两个学说实体“用户”和“属性”,如下所示。我需要构建一个查询来检索所有用户并按属性名称对它们进行排序,其中属性类型 = x。例如,获取所有用户并按“标题”对其进行排序。

0 投票
1 回答
789 浏览

php - Doctrine2 可以加载计算值吗?

有没有办法使用 Doctrine2 将计算值加载到实体中?例如,如果 aquestion具有votesvotes表具有来自question表的外键),则使用 SQL 您可以选择question并计算投票总数。

Doctrine2 有可能实现类似的功能吗?

0 投票
0 回答
702 浏览

php - Doctrine2 使用子实体的多对多关联

我通过Hotel实体与实体具有多对多关系的Airport实体Distanсe

我不知道如何描述Distance类的关联?

0 投票
2 回答
1156 浏览

doctrine-orm - 教义 2 协会

我有 2 个教义 2 实体: - 国家(id,名称) - 映射(id,objectType,internalId,externalId)

我需要使用以下条件在 Country 和 Mapping 之间建立关联: Country.id = Mapping.internalId AND Mapping.objectType = 'country'

我可以使用 YAML/XML 映射来实现这种关系吗?

0 投票
5 回答
3338 浏览

php - 教义 2 可排序

客户需要根据需要更改项目的顺序,这意味着我需要一些“订单”或“序列”列来保存每个项目的实际位置。

如何使用 Doctrine 2 来实现这一点?

0 投票
2 回答
2657 浏览

doctrine - 教义2中的多态关联?

我需要一个使用“多态关联”的学说 2 的具体代码示例。让我澄清一下自己。我有一个名为 Contract 的实体,一个合同可以有许多价格规则,这些价格规则可以是不同类型的类并存在于不同的表中。我想这是多态关联的原因还是我错了?

未来可能会有新的价格规则类型,那么如何将这些规则与主要实体关联并保存在单独的表格中?

更新:

这是我的新代码:

合同.php

价格规则.php

折扣规则.php

extradiscountrule.php

示例使用.php

但是当我尝试向合同中添加新规则时,我收到错误消息(致命错误:未捕获异常 'Doctrine\ORM\Mapping\MappingException' 并带有消息 'Class Doctrine\Common\Collections\ArrayCollection is not a valid entity or mapped super class .)

我究竟做错了什么 ?