草庐IT

Doctrine_Query

全部标签

php - doctrine dql where子句与关联实体的解释

给定这个实体classSystemRecord{/***@ORM\Id*@ORM\Column(type="integer",name="ID")*@ORM\GeneratedValue*@varint*/private$id;/***@ORM\ManyToOne(targetEntity="Application\Entity\User")*@ORM\JoinColumn(name="USER_SERIAL",referencedColumnName="SERIAL",nullable=false)*@varUser*/private$user;/***@ORM\Column(typ

php - 支持Doctrine ORM的独立用户管理库?

我找不到可用于用户管理(身份验证、授权、注册、密码提醒...)的独立系统。最接近的是使用Symfony和FOSUserBundle但因为它是一个SymfonyBundle,它似乎依赖于框架。有没有办法将它们分开或至少只加载symfony的几个组件?我以前用过symfony,我喜欢它;我只是不需要当前项目的整个框架。我找不到其他解决方案。 最佳答案 老实说,大多数项目都有自定义需求。即使使用FOSUserBundle之类的东西,您也必须重新实现或编辑其中的很大一部分。如果您的项目不是“时间攻击”项目,请花大约一周的时间来构建您自己的库

php - EAV 表上的 Doctrine ORM

我正计划创建我的应用程序并为模型使用ORM,但事实是,数据库的一部分使用了实体属性值表。我非常喜欢DoctrineORM,但我不知道是否有可能创建看起来像任何普通Doctrine实体的类,而实际上连接到的表是EAV样式。是否可以在这方面使用Doctrine,如果可以,如何使用? 最佳答案 绝对有可能:有这样的关系:对象(一对多)->AttributeValue->ManytoOne->AttributeType 关于php-EAV表上的DoctrineORM,我们在StackOverfl

php - 如何在 Doctrine 2 中管理单表继承?

我有评论和文章,都可以投票。所以,基本上我有三个实体,Article、Comment和Vote。在阅读SingleTableInheritanceinDoctrine2后引用手册,看来这正是我所需要的,因为我的Vote对Article或Comment保持不变。在ORMView中,这是我如何查看我的Vote表:编号|资源编号|资源类型|重量|我猜resource_type应该是“鉴别器”列,但我真的不明白如何在我的实体中实现它。我想做的是避免必须为我的每个实体投票表,因为除了“resource_type”之外,两者的投票实体保持相同,所以我试图在其中找到一种方法Doctrine2只能使用

php - Doctrine 2 坚持在 ManyToOne 关系中持久化已经管理的实体

我有一个包含部门的数据库表。我有另一个包含人的表。正如您所期望的那样,一个部门包含很多人,而一个人在一个部门中。当我想将一个新人持久保存到数据库中时,我创建了一个Person对象并尝试将其Department属性设置为一个由EntityManager管理的existingDepartment对象。但是,当我尝试保留我的新Person时,出现异常:Anewentitywasfoundthroughtherelationship'Entities\Person#department'thatwasnotconfiguredtocascadepersistoperationsforentit

php - 使用 symfony2 和 php 在生产环境中使用 doctrine2 迁移是否安全

我正在构建一个复杂的应用程序,但我想知道在生产中使用原则迁移是否安全。例如。该站点已使用1年,公司希望向用户表添加额外的属性。那么我是通过进入数据库还是通过学说迁移直接改变 最佳答案 这是迁移的预期用途之一(和好处)-快速准确地自动更改数据库。是,它们可以而且在大多数情况下应该用于更新生产中的数据库。编辑:TheSymfony2documentation也解释清楚了这是迁移的目的之一。Ofcourse,theendgoalofwritingmigrationsistobeabletousethemtoreliablyupdateyo

php - 学说 2 和 ORM : how to cache every query for some entity?

我与这个问题斗争了很多时间,发现正式地,我只能缓存一些自定义查询(查询对象上的useResultCache(true))。但是我需要将应用程序中的每个查询缓存到某个表中。EntityManager上的find*方法怎么样?...有人可以帮我找到一个优雅的解决方案吗? 最佳答案 这还不受支持,您最终应该在服务层或扩展存储库中处理它。您正在寻找的是secondlevelcacheasinHibernate,它基本上允许您插入一个键值存储,如redis、riak、mongodb等,以便在操作是简单的获取操作时使事情变得非常快。在https

php - Symfony 2 - 试图从命名空间 "apcu_fetch"调用函数 "Doctrine\Common\Cache"

我在我的symfony项目中使用PHP7.0.8和doctrine缓存(带APCU)。当我从使用此缓存的Controller调用函数时,没问题,它工作正常!但是当我创建一个使用存储库的命令文件时,存储库使用doctrine缓存,当我在我的shell上运行这个命令时,我遇到了错误:[Symfony\Component\Debug\Exception\UndefinedFunctionException]Attemptedtocallfunction"apcu_fetch"fromnamespace"Doctrine\Common\Cache".我的配置:doctrine:dbal:dri

php - 如何在 pdo->query 中添加变量值

我想升级我当前的代码,它不断地用PDO注入(inject)sql。目前我一直坚持在PDO查询中使用变量。如果我有两个这样的参数$rowsPerPage=3;//bydefaultweshowfirstpage$pageNum=1;if(isset($_GET['page'])){$pageNum=mysql_real_escape_string($_GET['page']);}$offset=($pageNum-1)*$rowsPerPage;我有这样的查询$STH=$DBH->query("SELECTNews.ID,LEFT(NewsText,650),Title,AID,Date

php - 为什么 var_dump 一个 Doctrine Objects 会杀死我的 Apache?

我有一个非常奇怪的问题,当我尝试var_dump(或print_r)一个Doctrine对象时,我的Apache响应一个空的空白页(200OKheader).我可以var_dump一个普通的php变量,例如:$dummy=array("a"=>1,"b"=>2);而且效果很好。但是我不能使用来自任何Doctrine类的任何对象(比如$connection->query()的结果,或者来self的带有Doctrine的对象模型的类的实例)。有人知道为什么会这样吗? 最佳答案 延迟加载代理总是包含Doctrine的EntityManag