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

join - Doctrine 2 连接表 + 额外字段

我有两个表和一个连接表:“staff”、“classification”和“staff_classification”。在连接表中,我有一个额外的布尔字段:'showclassification'。我的注释如下:

  1. 如何将额外字段“showclassifications”添加到连接表?
  2. 如何通过 DQL 引用该字段?例如,什么查询可以获得所有允许显示的员工分类?
  3. 我是否将上述注释放在一个类中,而将一个没有 @joinTable 的 @ManyToMany 注释放在另一个类中?例如@ManyToMany (targetEntity="Classification")?
0 投票
0 回答
1076 浏览

php - 教义 2 整合问题

问题:

我正在使用 MVC 模式开发我的项目。为了构建模型,我决定使用 Doctrine 2 RC2。

为了实现视图和控制器,我想使用 Zend Framework 1.11。

在开发模型时,我对其进行了测试。该模型工作正常。使用 Doctrine2 控制台工具,我在数据库中创建了所有表,并且非常简单地使用模型实体。然后我进入下一步——将 Doctrine 集成到 ZendFramework 中。

完成集成后,我发现以下错误消息:“未捕获的异常 'Doctrine\ORM\Mapping\MappingException' 带有消息 ' Class Entities\Tourist不是有效实体或映射的超类。'”

我以为这是我的错。然后我决定找同样的即用型包Here is it。我认为它应该在盒子里工作,但它没有发生。下载的包向我显示了相同的错误消息:“ Class Application_Model_Article不是有效的实体或映射的超类。

现在我认为问题出在我的环境中。但是我需要改变什么才能让它工作?谁能帮我?

我的环境: 操作系统:Mac OS X 10.6.5 PHP:5.3.3(通过 Macports 安装) Apache:2.2(通过 Macports 安装)

请告诉我有什么问题?ZendFramework 是否可以与某些 Doctrine 功能重叠?

0 投票
8 回答
19760 浏览

php - 我可以从教义2中的php访问鉴别器字段吗?

我有一个定义继承的实体,如下所示:

我想知道是否可以为字段“类型”设置吸气剂?我知道我可以使用 instanceof (在大多数情况下,这就是我正在做的事情),但在少数情况下 $item->getType() 会让我的生活变得如此轻松。

0 投票
6 回答
13694 浏览

php - Doctrine 2 访问属性的推荐方式是什么?

我记得在 Doctrine 2 模型中读到,我不应该将属性/字段设置为 public。那么你将如何公开这些字段?沙盒使用get*()&set*()方法。这是最好的主意吗?它非常麻烦。使用魔术方法__get() __set()会使类似于设置字段公开的事情吗?

你的建议是什么?

0 投票
2 回答
2373 浏览

datamapper - Doctrine2 最佳实践,实体应该使用服务吗?

不久前我问了一个类似的问题:使用数据映射器模式,实体(域对象)是否应该知道映射器?但是,它是通用的,我对如何使用 Doctrine2 专门完成一些事情非常感兴趣

这是一个简单的示例模型:每个都Thing可以有 a Votefrom a User, aUser可以转换多个,Vote但只有最后一个才Vote重要。因为其他数据(Msssage等)与 相关,所以在放置Vote第二个时,原始不能只是更新,它需要替换。VoteVote

目前Thing有这个功能:

Vote负责建立关系:

在我看来,确保 a Useronly has last Votecounted 是Thing应该确保的,而不是一些 service layer

因此,为了将其保留在模型中,新Thing功能:

那么如何Vote从域模型中删除呢?我应该放松Vote::setThing()接受 aNULL吗?我是否应该涉及某种Thing可以用来删除投票的服务层?一旦选票开始累积,那foreach将会很慢 - 是否应该使用服务层来允许Thing搜索 aVote而无需加载整个集合?

我肯定倾向于使用轻量级服务层;但是,有没有更好的方法来使用 Doctrine2 处理这种类型的事情,或者我是否朝着正确的方向前进?

0 投票
2 回答
2381 浏览

zend-framework - Zend Framework 1.11 + Doctrine 2 集成:自动加载模型 models/user.php -> Model\User

如何设置自动加载,以便我可以拥有我的目录结构

并有 Zend/Doctrine Autoloader 加载Application\Model\User。注意模型是单数的。

目前我有如下自动加载器设置(在Bootstrap.php _initDoctrine()

目前,当我尝试使用时Application\Model\User,我得到

require(D:\Projects\Tickle\application\models\Application\Model\User.php): failed to open stream: No such file or directory

它试图包括application\models\Application\Model\User.php. 嗯,它比我预期的要复杂。无论如何,我该如何解决?

0 投票
3 回答
1379 浏览

php - 我如何在 PHP 中重新创建我的数据库(例如用于单元测试)

我如何从 PHP 重新创建我的数据库,也许插入默认数据。目前,我打算将该行为用于单元测试。

我正在使用 Doctrine 2、Zend Framework 1.11Zend_Test进行单元测试

我可以使用 CLI

或者

我正在寻找一个 PHP 替代品,到目前为止找到了这个

但它看起来像

而且我真的不想指定模型类,尤其是在开发中可以更改时。它应该只从下面...中指定的所有类中读取...就像使用 CLI 一样,您不需要指定所需的类吗?

0 投票
3 回答
2779 浏览

zend-framework - PHPUnit/Zend_Test: PDOException: 你不能序列化或反序列化 PDO 实例

我得到了例外

PDOException: You cannot serialize or unserialize PDO instances

当我尝试使用 PHPUnit 进行单元测试时。我没有太多事情要做。我正在使用 Zend Framework 1.11。我想也许我已经引导我的应用程序将实体管理器存储在 Zend_Registry 中?

对于我的单元测试,它看起来像

我的 phpunit.xml 看起来像http://pastebin.com/BCv2Ci8R,我认为主要关注的领域是第 1 行,所以 bootstrap.php 看起来像http://pastebin.com/hVZhJAG1

更新

我发现当我有线路时问题就开始了

在 bootstrap.php http://pastebin.com/hVZhJAG1

0 投票
1 回答
497 浏览

unit-testing - 单元测试学说 ORM 模型

我认为这是一个非常愚蠢的问题,但是如果你已经使用了 ORM 框架,你会测试你的模型吗?当我意识到没有太多要测试的东西时,我就在做这件事?我主要只是将模型用于价值?例如。用于添加用户

然后编辑将是相似的

类似的东西。我可能会添加的唯一功能是注册用户和更改密码以处理密码加盐和验证用户名可用。

也许另一件事是吸气剂和二传手?很琐碎的事情?你会怎么做?

就这样?

0 投票
1 回答
1317 浏览

php - Doctrine 2 DQL:不能重用命名参数?

我发现我不能做类似下面的事情,注意' :user'被使用了两次

我收到错误“ array_combine(): Both parameters should have an equal number of elements

我可以通过执行以下操作来解决问题