草庐IT

php - 保存实体学说/symfony2 的副本

我想保留实体的先前版本。当“旧”实体更新时,我想用相同的ID但使用不同的修订号保存它,所以它看起来像这样id:1revision_number:1id:1revision_number:2这是实体namespaceAppBundle\Entity;useDoctrine\ORM\MappingasORM;useDoctrine\Common\Collections\ArrayCollection;/***Form**@ORM\Table()*@ORM\Entity*@ORM\HasLifecycleCallbacks*/classForm{/***@varinteger**@ORM\C

php - 如何在没有任何实体的情况下测试学说 EventListener/Subscriber

我创建了一个AuditLoggerBundle*,它有一个使用DoctrineEvents(prePersist、preUpdate和preRemove)的服务,以便在audit_log表(AuditLog实体)中创建一个新条目。该bundle与我的其他bundle一起工作正常,但我想对其进行单元测试和功能测试。问题是,为了对AuditLoggerListener函数进行功能测试,我需要至少有两个可以持久化、更新等的“假”实体。在这个包中,我不知道如何执行此操作,因为我只有一个AuditLog实体,我需要使用两个实体(将仅在测试中使用)。第一个实体将是“可审计的”(我必须在audit_

php - 我如何在学说查询生成器中放置条件

我有这个问题$qb->select('u')->from('UserBundle:User','u')->where('u.location=:identifier')->orderBy('u.firstName','ASC')->setParameter('identifier',2);我希望如果存在$identifier,那么它应该过滤结果,否则我会得到所有类似的结果$qb->select('u')->from('UserBundle:User','u')if($identifier)->where('u.location=:identifier')->orderBy('u.fir

php - 学说 DQL JOIN

我将以下实体映射到Doctrine2:classZone{/***@ManyToOne(targetEntity="Zone",inversedBy="children")*@varZone*/protected$parent;/***@OneToMany(targetEntity="Zone",mappedBy="parent")*@varZone[]*/protected$children;/***@ManyToMany(targetEntity="Zone")*@varZone[]*/protected$descendants;}classRestaurant{/***@Many

php - 学说 : Symfony2 Listener vs inclass Lifecycle callbacks

我一直在处理一个图像实体,当持久化时,它使用内部方法来保存/移动/删除使用钩子(Hook)注释关联的图像文件,但我觉得有点像实体本身应该只是相关的getter和setter。我应该将方法保留在实体中还是将它们移至监听器类?实体有方法:生成唯一的文件名/路径将图像文件持久保存到磁盘在级联移除时移除图像。但我不确定我是否喜欢这个存在于我的实体中../***@ORM\PostPersist()*@ORM\PostUpdate()*/publicfunctionupload(){if(null===$this->getFile()){return;}//throwsexceptiononerr

php - 学说 2 : reattaching entities through value objects

我正在使用Doctrine2,并且有一个Address值对象:classAddress{/**@varstring*/protected$street;/**@varstring*/protected$city;/**@varApplication\Domain\Model\Country*/protected$country;}我需要将此Address存储在PHPsession中(序列化),并在稍后检索它。当我随后检索这个值对象时,我想将Country对象合并到当前的实体管理器,以便这个国家与当前的工作单元同步。是否可以将这个值对象“合并”到当前的实体管理器,就像我使用cascade

php - 我怎样才能序列化一个(复杂的)学说 2 对象?

我正在使用Doctrine2(在ZendFramework中,周围没有Symfony2)。我有一个“复杂”的doctrine2对象,它与其他两个对象具有一对多关系。我的对象的结构是这样的:$object->attribute1="foo";$object->attribute2="bar";$object->doctrineCollection1=;$object->doctrineCollection1=;我想以某种方式将它存储到ZendCache中。序列化完整对象的最佳方法是什么?我还尝试弄清楚如何将其编码为JSON以获得提示,但尚未成功。 最佳答案

php - Stof 学说扩展 :Tree lvl doesn't update

我在这里问这个问题是因为我在github上没有答案。我正在使用嵌套的树注释,并且据说当一个人像这样保存一个$food对象时:$food->setParent($vegetables);parent、lvl和root的更新正确完成。然而,由于我更新到Symfony2.5,lvl的更新不再起作用,它保持在0,使得这个树扩展无用。我什至不能强制它(如果我在坚持之前手动更改lvl,在刷新lvl回到0之后)...有没有人遇到同样的问题? 最佳答案 如果不查看您的更多代码,就很难准确判断问题出在哪里。但是我建议您尝试以下方法:$foodRepo

php - 与学说 2 的关联

我正在尝试创建一个实体,其学说与其他实体具有三个关联所以一个Item与:必须与其来源的OneRssfeed相关联可以与一个或多个位置相关联可以关联一个或多个标签这是我的尝试:classItem{/***@ManyToOne(targetEntity="Rssfeed")*/protected$rssfeed;/****@ManyToMany(targetEntity="Location")*/protected$locations;/****@ManyToMany(targetEntity="Tag")*/protected$tags;}现在如果Rssfeed被删除,相关的项目也必须被

php - 学说 2 选择计数 groupBy

我正在尝试检索具有唯一uid的许多行。$qb->select('COUNT()ascnt')->from($type,'c')->groupBy('c.organization,c.process_role,c.domain,c.year')->getQuery()->getSingleScalarResult()但它返回一组组计数。这个应该怎么写才正确?终于成功了,但是有点丑$count=$this->_em->createQuery('SELECTCOUNT(c.id)FROM'.$type.'ascWHEREc.idIN('.'SELECTc1.idFROM'.$type.'c1