问题标签 [doctrine-1.2]

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 回答
259 浏览

php - 使用学说 ORM 从两个表中检索信息的正确方法是什么

我正在尝试对两个表执行简单的连接,但无法找到要使用的正确语法 - 我知道我缺少一些简单的东西。

从“用户”表中我需要 id(工作正常),从“元”表中我需要 last_name(不工作)

我也尝试向查询中添加显式 select(u.id, m.last_name) 但结果始终相同

显然,我试图访问的属性不在 users 表中。- 查询工作正常,就好像我不请求 last_name 字段一样 - 我的应用程序按预期工作..

任何人都可以提供一个简单的示例来说明我打算如何执行此操作(甚至是文档中页面的链接)文档中 JOINING DQL 的所有示例都将查询输出到 SQL 而不是迭代结果...

教义文档:加入语法

0 投票
1 回答
844 浏览

transactions - 原则 1.2:使用 postDelete 删除文件系统上的相关文件 -- 支持事务

这个问题是对这个问题的一种扩展:

在 Symfony/Doctrine 中删除记录时执行一些清理

我正在这样做,它工作正常,除了一个问题:如果删除失败并且事务从未提交,则 postDelete 方法仍然运行并且文件无论如何都会被删除。

什么是避免这种情况的好方法?

0 投票
2 回答
554 浏览

php - 教义:如何在查询中仅在必要时才包含 where 子句?

我想使用单个查询来检索:

  • 任何类别的项目(未应用过滤器);
  • 仅限单一类别的项目(仅限于特定类别);

为此,我应该能够编写一个 Doctrine 查询,该查询仅在满足某些条件时才包含 where 子句(例如,存在 URL 的一部分),否则查询中不包含 where 子句。

当然,我尝试使用 If 语句,但由于学说查询是链式的,因此会引发错误。

所以我想解决方案可能是某种(对我来说未知)以非链接形式编写学说查询的方式(通过不让每一行以“->”开头,并且让查询的每一行以分号“;”结尾)

这样我猜就可以使用 IF 语句。

或者,也许已经有一些非常简单的解决方案来解决这个问题?

感谢您的回复!

0 投票
1 回答
999 浏览

zend-framework - Zend Framework 和 Doctrine 集成的问题

我之前在另一台机器上做过这个,设置几乎相同。但是,它只是无法在新机器上运行。当我尝试让 Doctrine 生成我的模型时,它会将它们放在错误的位置。它为基类和常规类创建了一个额外的“模型”目录。我将 Doctrine 1.2.3 与 ZF 1.11.0 一起使用。这是我的 ZF application.ini:

这是我的 ZF Bootstrap.php 文件中的 Doctrine 函数:

这是我的教义.php 命令行脚本:

所以,我希望我的模型目录最终是这样的:

其中基类类名的格式类似于 Model_Base_Class1 ,常规类名是 Model_Class1 (在实际的 php 文件本身中)。相反,我得到的是:

查看额外的模型目录?这是什么原因造成的?我试过弄乱我的ini中的教义.generate_models_options.classPrefix选项以及我的Bootstrap.php文件中的类似设置 - $manager->setAttribute(Doctrine_Core::ATTR_MODEL_CLASS_PREFIX, 'Model_');

请帮我!

0 投票
2 回答
685 浏览

php - 如何使用 Doctrine 从模型中删除和重建表而不丢失数据?

我使用以下代码从我的模型构建我的表:

我刚刚开始一个新项目,这是我第一次在应用程序中使用 Doctrine。到目前为止,由于我刚刚开始并且没有任何数据,所以我只是在每次更改模型时都在 phpMyAdmin 中删除表并运行上面的代码。显然,这在生产环境中不是一个选项。

Doctrine 是否有我可以调用的方法或方法块来删除和重建表而不会丢失现有数据?也许先把它保存到一些临时表中?如果不是,我还有哪些其他选择可以完成同样的事情?

或者,在让 Doctrine 生成我的表格方面,我是否走错了方向?我应该自己维护它们并在我的模型中保持我的关系和列是最新的吗?

我将 Doctrine 1.2 与 CodeIgniter 框架一起使用。

0 投票
0 回答
589 浏览

php - Doctrine ORM:使用票务服务器生成主 ID 的最佳方法?

我正在创建一个集中的票务服务器来分发唯一的 32 位 INT id。我有一个可以在我的应用程序中调用的函数,它接受实体/表的参数,例如 getPrimaryKey('user')。我通过这篇博文从 Flickr 得到了这个想法:

http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

我们最终将在多个 MySQL 数据库中分片我们的数据,我希望启动并运行此代码作为概念证明。

我的问题是在 Doctrine 中使用此功能的最佳方法是什么?显然,使用上面的票据服务器,我需要指定我的 Doctrine 模型都不包含自动递增的主键。

是否有一个我可以扩展的 Doctrine_Model 方法,该方法将在将新记录插入数据库之前使用我的 getPrimaryKey 方法检索主键?如果不是,我应该从我的应用程序中的另一个地方处理这个问题吗?

理想情况下,我希望在使用 Doctrine 关系时使用上述方法生成 id,例如:

此外,这种情况的另一面是从特定分片中选择数据。我目前的想法是像这样维护每个分片上包含的键范围的主列表(忽略每个分片的少量行):

分片A user_id 1-1000
分片 B user_id 1001-2000 分片
C user_id 2001-3000

然后我可以调用 getShard($table_name, $primary_key) 之类的方法来获取分片,并可能将我的 Doctrine 连接切换到该特定分片。特定用户/实体的相关数据很可能驻留在同一个分片上,因此我不太担心跨多个分片的关系。不过,这可能是一种可能性,因此也非常感谢有关此问题的任何指导。

0 投票
3 回答
164 浏览

php - 在 Doctrine 模型中设置所需值

是否可以在 Doctrine 模型中设置约束,以便使用该模型的所有查询都包含此要求?例如,如果我有一个Car 模型,并且我想确保使用该模型检索到的所有结果都已active = 1在数据库中设置。我可以在每个单独的查询中定义它,但似乎可能有更好的方法。

干杯!

0 投票
2 回答
3321 浏览

postgresql - Doctrine 和 Postgresql,从 DB 问题生成模型

我在 Postgresql 9.0 中有一个数据库,我正在尝试使用 Doctrine ORM 1.2 从 db 生成模型。

这是我的代码:

当我运行该页面时,我收到此错误:

值得一提的是,这段代码非常适用于 mysql(通过在连接 ofcurse 中使用 mysql:// ...),但在使用 postgresql 9.0 时遇到了麻烦。

任何想法?

0 投票
3 回答
3489 浏览

php - 教义选择语句总是返回表的所有字段

我有下表

和这个 dql 声明

生成以下 sql ist

但是在学说中获取结果后,即使未选择标题字段,我也可以访问它:

也通过 Zend_Debug::dump($results->toArray()); 转储 向我显示所有字段,就好像我会选择 *

那么如何限制返回的字段以匹配我的选择呢?

提前致谢

马丁

0 投票
1 回答
2002 浏览

mysql - 具有字段的 Doctrine 中的子查询

我正在处理几条公交路线。我想获取离我的出发点和目的地点最近的两个点。所以我要做的是:

错误是:

有一个更好的方法吗 ?我认为 MIN 应该与 GROUP BY 一起使用,我尝试了 GROUP BY p3.id 和 GROUP BY p4.id,但这并没有改变。

对于那些它可以提供帮助的人,这里是 Symfony 的堆栈跟踪: parseAggregateFunction() 函数擦除查询很奇怪,不是吗?