草庐IT

doctrine

全部标签

php - APC 没有为 Symfony1.4/Doctrine 应用程序提供任何性能提升?

我正在开发一个应用程序(Symfony1.4/Doctrine),该应用程序的一些页面加载起来非常繁重。其中一个页面包含一个非常复杂的表单,其中包含很多关系(嵌入式表单)。该页面执行如下操作:获取所有对象、创建表单(使用对象)、呈现表单。这导致每页加载时间约为1.5秒。MySQL似乎不是瓶颈,查询大约需要0.01秒。然而,水化结果需要更多时间:大约0.3秒。创建和嵌入所有子表单也需要很多时间(0.5秒)。其余时间花在常规的Symfony/Doctrine方法上。所有这些时间都是通过Symfony计时器和/或xdebug找到的。我希望我可以通过使用APC进行操作码缓存来加快我的生产服务器

php - Symfony2 OneToMany 关系和形式

我一直在为一个新项目使用Symfony2,但遇到了一个相当愚蠢的问题。我的两个Doctrine实体Item和Comment之间存在OneToMany关系。我现在有一个表单供用户为给定项目创建新评论。当创建一条新评论时,这条评论当然有一个属性Item,它应该被设置为当前正在评论的项目。当单击项目上的评论链接时,一个id作为参数发送到表单页面,我的计划是让这个id填充一个隐藏字段,然后使用DataTransformer在回发时将其转换为一个项目。但实际上我该如何实现呢?我如何将此id放入表单的隐藏字段中,以便DataTransformer可以正确处理它?或者在Symfony2中使用表单时是

php - 可翻译 Doctrine 实体的 Symfony 表单

我有一个使用TranslatableDoctrineextension翻译的Doctrine实体:locale=$locale;}publicfunctiongetTranslations(){return$this->translations;}publicfunctionaddTranslation(PropertyTranslation$t){if(!$this->translations->contains($t)){$this->translations[]=$t;$t->setObject($this);}}}现在,我想呈现一个表单,其中包含我翻译中可用的每种语言的“名称”

php - Doctrine 2类表继承YML

我正在尝试在ZF2和Doctrine2中使用类表继承。我的实现非常简单。我想我已经设置好了类结构,但我认为某处的某些设置可能存在问题。不幸的是,我找到了很多关于类设置的文档,但关于YML实现的文档并不多。每个人似乎都诉诸于使用学说工具来生成一切。根据设置方式,使用条令工具有点问题,尤其是在使用ZF2时。另外,我认为这是一个学习机会。所以,这就是我所拥有的:当前问题:我没有从子类/表中获取任何数据:.array(1){[0]=>classMyCompany\Domain\Model\Customer\CustomerNote#2852(9){protected$customer=>NUL

php - Symfony2 自引用多对多关系

我是symfony2的新手,我很难理解表格。这个主题之前已经讨论过,但主要是关于关系方面的。我对表格以及如何管理关系的保存有疑问。一个用户的场景有很多用户friend。所以自引用多对多关系。我正在使用FOSUserBundle并且有一个友谊实体。这是用于创建实体的YAML。MH\FriendshipBundle\Entity\Friendship:type:entitytable:mh_friendshiprepositoryClass:MH\FriendshipBundle\Entity\FriendshipRepositoryid:id:type:integergenerator:

php - Symfony Doctrine 优化

我在USER和CATEGORY表之间有MN关系。当用户有超过100个兴趣时出现问题。当我像这样执行非常简单的查询时:return$this->createQueryBuilder('usercategory')->innerJoin('usercategory.user','u')->innerJoin('usercategory.category','c')->where('u.id=:user_id')->setParameter('user_id',$user_id)->getQuery()->getResult();Symfony分析器报告超过100个查询的执行时间超过150毫

php - Symfony2 - 在处理实体时覆盖默认的 Doctrine 查询

对于我的项目,我有一个包含许多项目的工作区(一种用户),我想知道是否有一种方法可以在我调用$workspace->getProjects()只获取事件项目(不是存档的项目)。这样我就不必过滤我的集合,而且它会减少从数据库返回的数据的大小。/***Acme\DemoBundle\Entity\Workspace**@ORM\Table()*@ORM\Entity*/classWorkspace{/***@varinteger$id**@ORM\Column(name="id",type="integer")*@ORM\Id*@ORM\GeneratedValue(strategy="AU

php - 原则 2 - 一对多单向

关于在Doctrine2中创建一对多单向关系的几个问题:是否需要连接表?docs说“看这个例子”,但我看到的只是生成的模式。有人介意快速举个例子,这样我就能得到正确的注释吗? 最佳答案 您使用的是2.0.x版本的文档。检查thisone.您将拥有示例。是的,您可以避免在两个类之一中使用注释。 关于php-原则2-一对多单向,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/24874

php - 内存管理 Symfony 表单和 Doctrine

当使用Symfony构建表单时,表单的构建速度非常慢并且内存峰值。该表单是使用一些子表单构建的,并使用了一些一对多关系。当表单的数据变大(多方实体更多)时,表单变慢并且内存使用量越来越大,这看起来不错,但时间和内存使用量似乎不是。例如,当多边有大约71个实体时,内存使用量约为116MB,加载需要14秒。我已经推断出完成的查询数量(从75到4),尽管内存峰值仍然在创建表单的那一刻发生$form=$this->createForm(newTapsAndAppliancesType(),$taps);有什么提示和技巧可以加快速度吗? 最佳答案

php - 获取 "Integrity constraint violation: 1048 Column ' payment_id' cannot be null"using Doctrine & Symfony

我已经被困了几天来处理这个问题。我一直在查看其他StackOverflow问题和不同的论坛,但我无法让它工作,所以这就是这个问题的原因。我正在开发一个包含付款的系统,所以我创建了一个“付款”类,如下所示:/***Payment**@ORM\Table()*@ORM\Entity(repositoryClass="PaymentRepository")*/classPayment{/***@varinteger**@ORM\Column(name="id",type="integer")*@ORM\Id*@ORM\GeneratedValue(strategy="AUTO")*@JMS\