问题标签 [doctrine-orm-postgres]

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 投票
1 回答
4290 浏览

symfony - 执行 'SELECT NEXTVAL('moneda_moneda_id_seq')' 时发生异常:

我尝试在 symfony2 中插入实体时遇到此错误,

我检查了我的数据库以检查任何拼写错误,但一切都井井有条,所以我不知道这里出了什么问题,所以请任何帮助将不胜感激。

这是例外

执行 'SELECT NEXTVAL('moneda_moneda_id_seq')' 时发生异常:

SQLSTATE[42P01]:未定义表:7 错误:不存在关联 «moneda_moneda_id_seq» 第 1 行:SELECT NEXTVAL('moneda_moneda_id_seq')

0 投票
2 回答
1878 浏览

postgresql - 无法使用 bindValue、Postgresql 在 Doctrine DBAL 中绑定字符串值

我正在尝试在我的项目中使用 Doctrine DBAL;我的数据库是 Postgresql。这是一个简单的用例,我真的不知道为什么这不起作用。

让我们假设:

上面的代码似乎没问题。

我收到此错误:

有人可以解释这种行为吗?我怀疑引用问题...

最好的问候
卡米尔

0 投票
1 回答
2072 浏览

symfony - Doctrine ORM:使用由外键组成的复合主键持久化集合

我猜这是一个 Doctrine 错误(我已经在 J​​IRA 问题跟踪器上提交了一个问题),但如果这只是用户错误,我决定在这里发布。

概要

在某些情况下,使用由 2 个外键和一个元数据字段组成的复合主键将实体集合保存在连接表中会失败。代码基于此处的说明:Doctrine docs

问题详情

  1. SUCCESS:当 FOREIGN KEY 1 在要持久化的集合中的项目之间相同,并且 FOREIGN KEY 2 在任何现有 PRIMARY KEY 中大于 FOREIGN KEY 2 时,集合中的实体和相关实体将正确持久化:

    • 示例:GPA“add val below”存在并具有评估值{"assessment":6,"value":4} 我们将尝试添加一个新的评估值,其中assessment_id > GPA“add val below”的任何现有评估值

    • 请求有效载荷:{"name":"add val below","courses":[],"assessmentValues":[{"assessment":6,"value":4},{"assessment":7,"value":3}]}

    • 调试日志:

      p>

  2. FAILURE:当集合中的项之间的 FOREIGN KEY 1 相同,并且 FOREIGN KEY 2 小于任何现有的 FOREIGN KEY 2 时,工作单元会尝试插入现有实体并且不对新实体进行操作。

    • 示例:GPA“add val above”存在并具有评估值{"assessment":8,"value":2} 我们将尝试添加一个新的评估值,其中assessment_id < GPA“add val above”的任何现有评估值

    • 请求有效载荷:{"name":"add val above","courses":[],"assessmentValues":[{"assessment":6,"value":4},{"assessment":8,"value":2}]}

    • 调试日志:

      p>

代码

迁移.sql

模型/GradePointAverage.php

模型/GradePointAverage/AssessmentValue.php

模型/评估.php

存储库/GradePointAverageRepository.php

存储库/GradePointAverage/AssessmentValueRepository.php

经理/GradePointAverageManager.php

控制器/GradePointAverageController.php

0 投票
3 回答
2833 浏览

postgresql - 使用教义 2 postgresql 更新架构总是 DROPs 然后 ADDs CONSTRAINTs

更新模式时,学说总是删除并添加约束。我想,有什么不对...

如何解决这个问题?

0 投票
1 回答
129 浏览

symfony - symfony2 leftjoin 条件在右边 - 丢失数据

我有 3 个实体

. "Ejuridique" 与 "onetomany" 有 1 个关系

. “Project”与“onetomany”有 1 个关系

. “照片”

当我对“Ejuridique”进行 1 次查询并在“项目”上进行级联左连接时,然后在“照片”上添加项目和照片条件时,我失去了所有没有项目的“Ejuridiques”。但我想保留所有的“Ejuridique”,即使他们没有项目。

我已经尝试了所有与论坛上类似的其他问题的解决方案,但它仍然不起作用。

在我的存储库中使用 querybuilder

或使用 DQL

我用这两种方法都丢失了数据。

预先感谢您帮助我

0 投票
4 回答
6009 浏览

php - Doctrine2 + Symfony2:在绑定到 DQL 查询之前转换值

我正在构建一个函数,用于根据四个参数过滤一些记录:$codigo$anno和. 这是我到现在为止的构建:$term$comite_tecnico

每当我尝试执行查询时,都会收到此错误:

执行 'SELECT n0_.numero AS numero0, n0_.anno AS anno1, n0_.id AS id2, n0_.nombre AS nombre3, n0_.activo ASactivo4, n0_.comite_tecnico_id AS comite_tecnico_id5 FROM nomencladores.norma n0_ WHERE n0_ 时发生异常。喜欢?或 n0_.anno LIKE ?带参数 ["34", 45]:

SQLSTATE [42883]:未定义函数:7 错误:运算符不存在:整数~~未知第 1 行:...dores.norma n0_ WHERE n0_.numero LIKE $1 OR n0_.anno LIKE $2 ^ 提示:没有运算符匹配给定名称和参数类型。您可能需要添加显式类型转换。

这告诉我,在将其中一些参数发送到 PgSQL DB 并执行查询以获得结果之前,我需要转换其中的一些参数,但我的问题是,我如何在 Doctrine2 DQL 上做到这一点?这是可能的?任何解决方法或技巧或其他什么?我找到了这个文档,但不知道哪个功能适用以及如何应用,任何人都可以给我一些帮助或建议吗?

使用新测试进行编辑

在用户提出建议后,我对代码进行了一些更改,现在它看起来像:

但再一次,得到同样的错误:

执行 'SELECT n0_.numero AS numero0, n0_.anno AS anno1, n0_.id AS id2, n0_.nombre AS nombre3, n0_.activo ASactivo4, n0_.comite_tecnico_id AS comite_tecnico_id5 FROM nomencladores.norma n0_ WHERE n0_ 时发生异常。喜欢?或 n0_.anno LIKE ?带参数 ["%4%", "4"]:

SQLSTATE [42883]:未定义函数:7 错误:运算符不存在:整数~~未知第 1 行:...dores.norma n0_ WHERE n0_.numero LIKE $1 OR n0_.anno LIKE $2 ^ 提示:没有运算符匹配给定名称和参数类型。您可能需要添加显式类型转换。

正如您可能注意到的那样,在这种情况下,参数按原样传递:["%4%", "4"]但是为什么会出错?仍然没有到达它的位置

另一个测试

因此,使用 Doctrine Query Builder 并应用一些 Doctrine Query Language 我将查询从上面的代码移到了这个:

但在这种情况下,我收到以下消息:

无效的参数号:绑定变量的数量与标记的数量不匹配

如果查询是通过OR应该是四个参数需要的吗?

0 投票
1 回答
341 浏览

postgresql - 使用 Doctrine2 和 Postgresql 的简单 DQL 请求

我想在 Symfony2 FormType 中使用 query_builder,我尝试使用 Doctrine DQL 在我的 Postgresql shema 中发出一个简单的请求。它给我一个错误,我真的不明白如何修复它:

这是风电场类:

WindFarmRepository 中的 DQL 请求:

表单类型:

显然,问题出在报价中,我尝试了很多解决方案,但没有任何效果。

0 投票
1 回答
1586 浏览

symfony - 在 Symfony 中使用 Doctrine 2 的 Postgres date_trunc(text, timestamp)?

如何date_trunc(text, timestamp)在 Symfony 中将 Postgres 函数与 Doctrine 2 一起使用?

0 投票
1 回答
3074 浏览

postgresql - 用于类似 'abc%' 搜索的 PostgreSQL 索引

我有带有城市列表(> 1M)的postgreSQL表,我需要通过像'abc%'这样的模式来搜索这个表。我在列上创建了 B 树索引city.name,这就是我得到的:

以及确切的选择:

有什么方法可以使用标准索引在第一次选择时获得良好的性能?

我正在使用 Symfony2/Doctrine2,所以在这里实现特定于 db 的东西并不是很容易(而且我不想)。

0 投票
0 回答
495 浏览

php - PostgreSQL 上的 Doctrine2 GROUP BY

我有这两个模型:

该消息还具有以下两个属性:

现在,我想要实现的是:

换句话说,我想要所有消息,其中给定$user用作收件人(他是 m.to),并且对于这些消息的每个发件人,我只想要它们一次,例如表:

对于$userID 1,我只想获取 ID 为 5 和 6 的返回消息。

使用 postgresql 上面的代码产生:

使用参数 [1] 执行“SELECT ... GROUP BY m0_.from_id ORDER BY m0_.sent_at DESC”时发生异常:SQLSTATE [42803]:分组错误:7 错误:列“m0_.text”必须出现在 GROUP BY 子句或用于聚合函数 LINE 1: SELECT m0_.text AS text_0, m0_.sent_at AS sent_at_1, m0_.rea...

谷歌搜索显示 postgres 不知道第 6 行和第 7 行中的哪一个是正确的,以防他将它们分组(但 MySQL 这样做没有任何问题,如下所示:Query Builder and Group By on two columns in Symfony2 / Doctrine generate重复)。

我也知道 postgres DISTINCT ON,因为它完全符合我的要求,但为了让它工作,它需要 NativeQuery,我不太喜欢。

  1. 有没有什么好的解决方案,只有一个 QueryBuilder 而不使用内部选择?
  2. \App\Models\User通过-的反列是否有解决这种情况的方法$receivedMessages
  3. 欢迎任何其他想法