草庐IT

Doctrine_RawSql

全部标签

php - Doctrine QueryBuilder 重用部分

我想计算所有符合我的条件的字段,并使用条令查询生成器逐页获取它们。我生成的查询取决于我的过滤字段。第一部分是计算记录数,这样我就可以计算页数了。$qb=$em->createQueryBuilder();$qb->select('COUNT(m.id)')->from('CSMediaBundle:MediaItem','m')->where($qb->expr()->eq('m.media',$media->getId()));$filters=$request->request->get('filter');if(!empty($filters['size'])){foreach(

php - Doctrine2,按多对多属性的计数获取实体顺序

我有两个实体文章用户文章与名为“likedByUsers”的用户有关系现在,我想按喜欢的数量排序文章,但是:我不想拥有“numberOfLikes”属性,因为更新它太麻烦了我有太多的文章(100k+),无法在PHP端进行“排序”(事实上我们已经达到排序的极限,这就是我问这个问题的原因)我可以忍受没有得到返回值中的点赞数(因为序列化程序稍后会对其进行水合)我目前拥有的是:$builder=$this->createQueryBuilder('a');->select('COUNT(u)ASnbrLikes')->leftJoin('a.likedByUsers','u')->orderB

php - Doctrine 不会挽救一对多的关系

我被一个看起来非常非常令人费解的问题所困扰。仅供引用-我知道并且我已经阅读了这里的大部分Doctrine问题,所以我了解Doctrine和指定关系的基础知识。下面是我的数据模型的样子(发布相关代码部分)classSample{/***@ORM\OneToMany(targetEntity="Analysis",mappedBy="sample",cascade={"persist"})*protected$analysespublicfunctionaddAnalysis(Analysis$analysis){$analyses->setSample($this);$this->ana

php - 具有 Symfony 3/Doctrine 属性形式的一对多对一

问题来了:我有一个包含3个类的模型人个人工作工作一个人可以有多个工作,任何工作与人的关系都可以有“date_start”、“date_end”和“comment”属性。所以我用一个包含这些属性的可联合(person_job)构建了这个模型,并在称为person和job的2个manyToOne属性上建立了关系(用原则注释生成)人物属性如下:/***@varstring*@ORM\Column(name="name",type="string",length=255,nullable=false)*/private$name;/***@varstring*@ORM\Column(name=

php - Symfony 3/Doctrine - 获取实体更改集中关联的更改

所以我已经知道我可以在preUpdate生命周期事件中获取对特定实体的更改:/***Capturespre-updateevents.*@paramPreUpdateEventArgs$args*/publicfunctionpreUpdate(PreUpdateEventArgs$args){$entity=$args->getEntity();if($entityinstanceofParentEntity){$changes=$args->getEntityChangeSet();}}但是,有没有办法同时获取任何关联实体的更改?例如,假设ParentEntity具有如下关系设置:

php - 什么是最好的 MVC、Doctrine2、Datamapper 实践?

我正在考虑将Doctrine2与我的ZendFramework设置一起使用。我真的很喜欢数据映射器模式,主要是因为它将我的领域模型与我的数据库分开。我的问题是在我的Controller上使用Doctrine和DQL的最佳实践是什么?Controller使用DoctrineDQL/EntityManager直接用于保存/加载我的领域模型?在数据映射器模式保存/加载我的领域模型,以及然后在内部使用Doctrine我自己的类(class)?专业人士。对于#1当然是我不需要创建自己的数据映射器模型,但是同样,对于#2我以后可以替换Doctrine(理论上)你会怎么做?

php - Doctrine :我如何为关系添加元素

我认为我的问题不清楚,但我试图在这里说明我的观点。假设我有一个多对多的自引用关系,其中用户可以是老师(比如你在SO上发布答案),老师也可以是学生(你可以回答问题但也可以问)。namespaceEntities;/**@Entity@Table(name="users"))*/classUser{/***@Id@Column(type="integer")*@GeneratedValue(strategy="AUTO")*/private$id;/***@Column(type="string",length="30")*/private$name;/***@ManyToMany(tar

php - 更新双向多对多关系的正确方法 symfony2-doctrine

我做了一些研究,在阅读之后this和this(以及所有相关问题)我仍然无法确定在Symonfy2Doctrine中更新多对多关系的正确方法。感觉应该有很简单的方法,我还没找到。我有这两个实体:classstudent_main{/***@ORM\ManyToMany(targetEntity="support_log",inversedBy="student_main")*@ORM\JoinTable(name="support_log_student")**/private$support_log;和classsupport_log{/***@ORM\ManyToMany(targe

php - 如何在编辑表单中使用 DoctrineModule\Validator\NoObjectExists - Zend Framework 2 & Doctrine 2

在用于编辑的ZendForm中使用DoctrineModule\Validator\NoObjectExists验证器的最有效方法是什么?因为当我使用相同的表单来保存编辑后的值时,这会验证对象的存在并标记表单无效。 最佳答案 几周前,我在自定义过滤器中使用辅助方法解决了同样的问题。我不确定这是否是正确的方法,但它有效。编写一个扩展Zend\InputFilter\InputFilter的自定义输入过滤器。在过滤器的init()方法中添加您的通用过滤器和验证器。在输入过滤器中编写一个辅助方法,将doctrine的存在验证器附加到当前验

php - 在 Doctrine Fixtures Load 中访问命令输出接口(interface)

我正在使用很棒的FakerLibrary生成大量数据装置,也使用lorempixel.com在我的Symfony2项目中有一些随机图像。这需要一些时间(目前约10分钟),所以我想知道是否可以通过容器界面以某种方式访问​​CommandOutputInterface并以这种方式打印进度而不是echo'ing一切..也许还可以用ProgressBar得到一个不错的输出 最佳答案 看起来像ConsoleOutput不需要任何特殊的东西,可以直接实例化。useSymfony\Component\Console\Output\ConsoleO