问题标签 [doctrine]
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.
php - 如何允许 Doctrine 集合中的重复记录
我希望那里有一些教义用户。
这是我的关系的简化 YAML:
我希望一个集合能够保存同一项目的多个副本,但是当我使用生成的类来加载项目时,如下所示:
$items 不包含我的重复项。生成的 sql 似乎正确地返回了重复的行:
我知道我可以通过进行特定的 dql 查询来解决这个问题,但是有谁知道某处是否有简单的设置允许 Items 集合具有重复项?
php - 如何将 ORM 添加到 PHP 遗留项目?
我们正在开发一个 PHP 项目,该项目已经开发了 2 年多,现在团队已准备好并愿意将开发切换到 ORM。因为它确实加快了开发速度,让您可以通过 Objects 来操作,而不是大多数时候考虑 SQL 代码和数据库表。
我们决定选择Doctrine ORM,因为它加载了 YAML 数据夹具——我们非常需要它来进行单元测试。
我主要担心的是,使用新的 ORM 框架会降低网站的性能。我们无法在当前数据库抽象层(使用pg_connect
语法,不兼容PDO )之间建立共享连接。数据库连接机制不能切换到PDO-compatible,因为有很多SQL代码不兼容PDO_SQLITE语法。
因此,据我了解,如果我们开始使用它,它将使数据库连接数增加一倍。我不确定数据库服务器是否能够处理这个问题。
在这种情况下,您会建议我们做什么?
php - Symfony - 如何在我的学说迁移中插入行为?
是否可以在学说迁移中添加行为(例如 actAs Timestampable)以避免定义 created_at 和 updated_at 列?
提前致谢 !
php - Doctrine Profiler 不捕获查询
我想我一定在这里遗漏了一些明显的东西。我一起设置了 Doctrine 和 Zend Framework。在 bootstrap.php 文件中,我有以下内容 - 基于使用分析器的 Doctrine 文档:
没有错误,最后的探查器输出仅打印:“总时间:0,查询计数:0”。
随着查询的执行,连接肯定是有效的——我有一个 SELECT 使用 Doctrine_Query::create() 获取一堆项目,它是执行方法。
php - 在教义中更新文本字段会产生异常
我有一个文本字段,其中包含例如以下文本:-
“一种传统的英式菜肴,包括约克郡布丁面糊中的香肠,通常与蔬菜和肉汁一起食用。”
此文本字段采用一种仅使用其 ID 更新项目记录的形式。如果我编辑部分文本字段并替换“和肉汁”。用“幽默”。这样文本字段现在包含
“一种传统的英式菜肴,包括约克郡布丁面糊中的香肠,通常与蔬菜和幽默一起食用。”
我得到以下异常: -
致命错误:C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php:780 中未捕获的异常 'Doctrine_Query_Exception' 和消息 'Unknown component alias humous' 堆栈跟踪:C:\Projects\nitrous\lightweight \system\database\Doctrine\Query\Abstract.php(767): Doctrine_Query_Abstract->getQueryComponent('humous') C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Set.php(58): Doctrine_Query_Abstract ->getAliasDeclaration('humous') C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php(2092): Doctrine_Query_Set->parse('i.details = 'A ...') C :\Projects\nitrous\lightweight\system\database\Doctrine\Query.php(1058): Doctrine_Query_Abstract->_processDqlQueryPart('set', Array) C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php(971): Doctrine_Query->getSqlQuery(Array) C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php( 1030): Doctrine_Query_Abstract->_execute(Array) C:\Projects\nitrous\lightweight\system\appl 在 C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php 在第 780 行
如果有人感兴趣,我正在使用与 CodeIgniter 1.7.0 挂钩的 Doctrine 1.0.6。
我实际执行更新的学说查询如下所示:-
这看起来很奇怪,因为如果我替换整个字符串“约克郡布丁面糊中的传统英式菜肴,通常与蔬菜和幽默一起食用。” 对于完全不同的东西,比如“测试”,它不会抛出异常并且工作得很好。这让我感到困惑......它是 Doctrine 中的错误还是我错过了什么?
php - 为什么我在 Symfony 1.2 上使用 Doctrine 保存“验证器失败”?
假设我的 YAML 方案看起来像这样:
执行时:
我收到以下错误:
MySQL 将 order_id 存储为 bigint(20)。
我正在使用 Ubuntu 9.10、Symfony 1.2、PHP 5 和 MySQL 5。
编辑 :
得到提示,如果我在 YAML 文件中删除所有提到的大小,我会收到 order_id (lenght) 的第二个验证器错误:-)
php - 固定装置可以从其他固定装置“复制”项目吗?
在我的 ACL 装置中,我有资源和动作,大多数资源共享共同的动作,如 CRUD,在 Doctrine (yaml) 中有没有办法扩展另一个元素?
这是我当前的 yaml 的简介:
我如何使用新资源扩展 R1,例如,称为“新闻文章”,它将继承 A1 到 A4 + 包括它自己的操作?
doctrine - Doctrine 生成的模型可以有前缀吗?
教义中是否有一个选项可以为教义生成的任何类指定前缀?
我在使用新的 Zend 自动加载器和自动加载模型时遇到问题,教义自动加载器也无济于事。
理想情况下,我会让教义生成的类以“Model_”为前缀,如“Model_User”中。
我在尝试使用 generate-migrations-diff 生成迁移时遇到了这个问题,它说 Fatal error: Cannot redeclare class BaseUser in /tmp/fromprfx_doctrine_tmp_dirs/generated/BaseUser.php on line 38
因为实际模型是在新生成的类之前加载的。
php - 为什么在 Symfony 1.2 中重写 Doctrine_Record::save() 会给我一个严格的标准错误?
我有以下模型:
我觉得我正在遵循Doctrine_Record::save()签名的 API 描述(除了奇怪的括号,我会给我一个语法错误......)。
当我运行此代码时,它运行良好 ,但我收到以下警告:
我通常将错误报告转为 ERROR_ALL,并尝试坚持使用无警告代码。这让我很困扰。我检查了所有的 Doctrine 源代码并用 greped “保存(”,在它上面,一个接一个地尝试一个签名。什么都没有。PHP 第一次让我太宽容了,奇怪 hu :-) ?
php - 将 Doctrine 与 Zend Framework 1.8 应用程序集成
我有兴趣将 Doctrine 用作我正在编写的新 Zend Framework 应用程序的 ORM。我试图找出尽可能简单地集成它的最佳方法。我发现的每个示例都不同,其中很多都早于 ZF 1.8 中新的自动加载功能。他们都没有为我工作过。
有没有人有这样做的好方法?我倾向于将它放在我的引导文件中,但有些人建议制作一个 Zend_Application_Resource 插件。困难的部分似乎是让 Doctrine 命名空间和默认情况下不遵循 Zend 自动加载约定的模型类的加载路径正常工作。
有什么想法吗?谢谢。