草庐IT

doctrine-module

全部标签

php - Symfony2 和 Doctrine2 : how to get all tags for a post?

在我的项目中,我在两个实体之间建立了多对多关系:Post和Tag。(帖子有一个变量“标签”)。我想允许用户通过他们的名字或他们的标签搜索帖子(例如在tumblr上)假设我的数据库中有这个:NameTagspost1:"Recipewitheggs"cooking,chicken,eggpost2:"RandomTitle"beef,chicken,eggpost3:"CookingFish"fish,cookingpost4:"Riceandchicken"rice,meat因此,如果我在搜索表单中输入“鸡蛋”,我必须只返回post1(因为标签)、post2(因为标签)和post4(因

php - 如何用预言测试 Doctrine Entity Manager findOneById 方法?

我正在使用预言来编写我的单元测试"require":{...,"phpspec/prophecy-phpunit":"~1.0"},我调用$dbUser=$this->em->getRepository('MainBundle:User')->findOneById($id);测试时出现错误,因为未定义findOneByProperty方法。除了将原始代码更改为:$dbUser=$this->em->getRepository('MainBundle:User')->findOneBy(array('id'=>$id);我没有找到任何其他解决方法。有什么方法可以使用预言并保留原始代码来

php - Symfony Doctrine 存储库 (findOneBy) 结果不是对象

我尝试理解Doctrine方面的一些奇怪行为,例如:我有一个简单的表单,并在最后创建表单的请求中发送参数。/***DisplaysaformtocreateanewCommententity.**@Route("/saveComment/",name="comment_new")*@Method("POST")*@Template()*/publicfunctionnewAction(Request$request){$entity=newComment();$form=$this->createCreateForm($entity,$request);returnarray('ent

php - Zend framework 2/Doctrine 2/批量操作和事件触发

对于一个包含很多实体的大型项目,我编写了一个save()通用方法。此方法存储在抽象服务中,并在所有项目中用于保存实体状态。AbstractService::save()看起来像这样:publicfunctionsave($entity){$transactionStarted=$this->beginTransaction();try{$action=$entity->getId()?self::UPDATE:self::CREATION;$this->getEventManager()->trigger('save.pre',$entity,['action'=>$action]);

php - Doctrine: No alias was set before invoking getRootAlias() 错误

我的原始查询是:Select*fromuseruinnerjoincompanyconu.company_id=c.idwhereu.id=2我把它变成了:$em=$this->get('doctrine')->getEntityManager();$qb=$em->createQueryBuilder();$qb->select('u')->from('TemplateManager\Bundle\DocumentGeneratorBundle\Entity\Useru')->innerjoin('u.company')->where('u.id='.$id);$query=$qb-

php - 序列化时,Doctrine oneToMany 关系导致反向实体上的外键为 null

Relevantinformation:I'musingSymfony2.8.x,Doctrine2.4.8andJMSSerializerBundle1.0.一个Resource可以有很多Experiences。我正在进行API调用以检索Resource和所有关联的Experience。但是,我返回的JSON在Experience实体的$resource上包含一个null。我正在使用以下方法来检索Resource:$this->findBy([],[],$limit,$offset);我不认为这应该是一个问题,因为我已经尝试直接在注释中将获取模式设置为EAGER-这仍然没有奏效。我还

php - 为什么 Doctrine 会尝试复制多对多关系,即使我事先检查它是否存在?为什么它会在刷新时随机崩溃?

我真的很难过Doctrine无法按预期工作。我的代码试图做什么。我正在我的Symfony3网络应用程序中编写一个CLI命令,它应该整理我数据库中的标签表。有Actor,也有标签。Actor和标签之间存在多对多关系(双向)。我的命令导入一个CSV文件,其中在一列中列出了当前标签,在另一列中有一些替代品。它逐行遍历文件,找到现有的Tag,读取它与Actors的所有当前关系,删除Tag,创建一个新的Tag(替代)或使用现有的Tag,并附加到它的所有Actor关系删除了一个。代码(关键部分)protectedfunctiondoReplace(InputInterface$input,Outp

php - 如何使用 Doctrine 仅保留实体层次结构的第一级?

我正在将ZF3应用程序的DBAL迁移到Doctrine,并希望逐步进行。目前我正在使用Mapper对象的层次结构。FooEntity层次结构中的每个实体都有相应的FooMapper。嵌套实体的保存由嵌套的Mapper执行。每个Mappers使用Zend\Db\Sql\Insert或Zend\Db\Sql\Update保存它的实体并调用适当的Mapper用于子实体,例如BarMapper用于BarEntity。现在,在我开始使用Doctrine的便利功能(如cascade={"persist"})之前,我想保留Mapper的层次结构并仅执行保存使用persist(...)&flush()

php - 在 findBy 之后,Doctrine 重写了与急切获取值的关系

我有一个简单的实体/***@ORM\Entity(repositoryClass="...\Repository\UserTestRepository")*@ORM\Table(name="users",uniqueConstraints={*@ORM\UniqueConstraint(name="U_email",columns={"email"})*})*@UniqueEntity("email",message="Emailisalreadyused!")*/classUserTest{/***@ORM\Id*@ORM\Column(type="integer")*@ORM\Ge

php - 如何在 doctrine 2 迁移中删除外键

我想在doctrine2迁移中删除一个外键。但是没有dropForeignKeyConstraint()有人知道怎么丢吗? 最佳答案 publicfunctiondown(Schema$schema){$table=$schema->getTable('table_name');$table->removeForeignKey('foreign_key_name');} 关于php-如何在doctrine2迁移中删除外键,我们在StackOverflow上找到一个类似的问题: