草庐IT

doctrine-module

全部标签

php - 在多对多关系中应用 doctrine sql filter

我的项目中有多对多关系(user_role、grades、user_role_grades)。但我也有一个要求不要从我的数据库中删除任何数据。所以,我在表中添加了一个状态列,连接2个表以创建多对多关系。现在我要上$userRole->getGrades()仅获取那些在联合表(user_role_grades)中没有状态“0”的记录。对于那些,我正在尝试使用doctrinesql过滤器。namespaceBis\MpBundle\Filter;use\Doctrine\ORM\Mapping\ClassMetaData;classUserRoleGradeFilterextends\Do

php - Doctrine 迁移 : There are no commands defined in the "" namespace

我正在尝试将DoctrineMigrations设置为独立程序,但遇到了一些麻烦。我在同一文件夹中有doctrine-migrations.phar和migrations.yml。migrations.yml包含以下内容:name:DoctrineSandboxMigrationsmigrations_namespace:DoctrineMigrationstable_name:doctrine_migration_versionsmigrations_directory:/home/myusername/myproject/Database/Update在/home/myuserna

php - Doctrine 2 索引继承

我是Doctrine2的新手,我正在尝试弄清楚如何使用它进行索引继承。我想要实现的是拥有一个基类,该基类定义了一些默认列以及应用程序中所有实体的必要索引。示例:我的应用程序中的所有表都有created_on和modified_on,所以我准备了一个包含这两列的基础@MappedSuperclass.这是我的代码:我想强制created_on成为一个索引,所以我在这个特定列的基类中放置了@Index注释。希望这将为Member生成2个索引,即created_on和email_address+password组合。然而,这会导致基类的索引被子类覆盖,因此created_on不是索引。/**

php - 过滤与 Doctrine 2 中的标准对象的关联

假设我有一个实体Profile,它与一个Account实体有关联。我想使用profileCode=12345和获取配置文件,其中相关的Account的电子邮件地址为my@email。com。因此,我需要为两个实体指定一个条件。为此,我创建了一个自定义存储库Repository\Profile,现在我想知道如何实现它。我知道我可以使用“原始”DQL查询或使用查询生成器来解决所有这些问题。但是,我觉得它并没有我想要的那么漂亮,因为它非常接近原始SQL。当然语法有点不同,但从概念上讲,我会更多地考虑SQL而不是OOP。我会经常做这类事情,所以我真的在努力以最好的方式去做。我已经对Criter

php - 使用 Doctrine2 过滤多对多关联

我有一个Account实体,它有一个Section实体集合。每个Section实体都有一个Element实体的集合(OneToMany关联)。我的问题是,我不想获取属于某个部分的所有元素,而是想获取属于某个部分的所有元素并且与特定帐户相关联。下面是我的数据库模型。因此,当我获取一个帐户时,我希望能够遍历其关联的部分(这部分没有问题),并且对于每个部分,我想遍历其与获取的帐户相关联的元素。现在我有以下代码。$repository=$this->objectManager->getRepository('MyModule\Entity\Account');$account=$reposit

php - 通过刷新时的外部实体异常来 Doctrine OneToOne 身份

我有User和UserProfileOneToOne相关的DoctrineORM实体。它们应该总是成对存在,没有UserProfile就没有User。用户应该从自动增量中获取它的id,而UserProfile应该有用户的id。因此它们都应该具有相同的ID,并且没有其他列可以建立关系(Doctrinedocs:IdentitythroughforeignEntities)。UserProfile的id同时是主键(PK)和外键(FK)。我设法设置了它,但它要求先保存用户,然后才在单独的步骤中创建和保存用户配置文件。我想要的是UserProfile总是在构造函数中用User创建,但如果我这样

php - Doctrine2 是否应用过滤器来删除语句

我使用原则过滤器,最近发现过滤器不适用于删除语句。我试图通过文档和谷歌进行挖掘,但谜团仍未解开。例如,我有将用户连接到公司的过滤器,因此每个选择查询都像:$userRepo->find(12);修改自SELECT....FROMusert0WHEREt0.id=12进入SELECT....FROMusert0WHEREt0.id=12AND(t0.company_id='6')太棒了,这就是我需要的。令我困扰的是delete语句似乎没有受到影响。有谁知道这是默认的学说架构还是我的配置有误?过滤器useDoctrine\ORM\Mapping\ClassMetaData;useDoctr

php - Zend Framework 2 - 在 Module.php 中用工厂替换闭包

我正在使用ZendFramework2开发一个系统,并在application.config.php中打开keyconfig_cache_enabled闭包收到错误:Fatalerror:Calltoundefinedmethodset_stateClosure::__()in/home/user/www/myProject.com/data/cache/module-config-cache.app_config.phponline185.更好地搜索我发现不建议在Module.php中使用闭包,因为那是导致配置缓存中出现此错误的原因,考虑到这一点我读了一些建议将闭包替换为工厂。这就是

php - Doctrine 冲洗单个实体

Doctrine接口(interface)Doctrine\Common\Persistence\ObjectManager将flush方法定义为没有参数。然而,实现Doctrine\ORM\EntityManager允许传递单个实体。除了IMO糟糕的编程风格之外,还有什么我需要担心的吗?我知道PHP将忽略任何未在方法中声明的额外参数。这会导致非ORM管理器刷新所有实体。我问是因为我正在尝试以ORM可配置且可在以后切换的方式编写我的代码。现在,在编写批量导入类时,我发现在没有实体的情况下调用flush会导致内存泄漏,它还会影响我在主导入循环之外使用的“进度/历史”实体。因此,我只刷新某

php - Prestashop 1.6,冲突: 2 different modules requiring same class, 不同版本

在我的Prestashop项目中,我有几个模块。在其中一个(我们称之为“AWS”)中,我使用composer(在PHPStorm中)安装了AWSSDK,如here所述。.Composer已经“需要”,在其他库中,“guzzlehttp”,更新到它的最终版本。另一方面,还有另一个模块(我们称它为“orangeConnect”)也带有composer,它有一个早期版本的“guzzlehttp”。问题出在我在php中使用AWSSDK时,在第一个模块的php脚本中。发生的事情是它试图调用URIComposer类,但它崩溃了。其实是因为没有一类“UriResolver”。问题是,如果我删除“or