草庐IT

Doctrine_RawSql

全部标签

php - 内存使用随着 Doctrine 批量插入变得疯狂

我正在尝试使用Doctrine2和Symfony2fixturebundle在MySQL数据库中插入大量数据(30000多行)。我看了therightwaytodoit.我看到很多关于内存泄漏和Doctrine的问题,但没有让我满意的答案。它经常出现在Doctrineclear()函数中。所以,我做了各种形状:while(($data=getData()){$iteration++;$obj=newEntityObject();$obj->setName('henry');//Fillobject...$manager->persist($obj);if($iteration%500=

php - 如何生成扩展自定义记录类的 Doctrine 模型/类

当我使用Doctrine从Yaml/db生成类时,每个基类(包括表定义)扩展了Doctrine_Record类。由于我的应用程序使用一个主数据库服务器和(多个)从数据库服务器,我需要能够使基类扩展我的自定义记录类以强制写入到主数据库服务器(如here所述)。但是,如果我手动更改基类,当我使用Doctrine从Yaml/db重新生成我的类时,我会再次丢失它。我需要找到一种方法告诉Doctrine扩展我自己的基类,或者使用Doctrine找到主/从数据库设置的不同解决方案。示例生成模型:abstractclassMy_Base_UserextendsDoctrine_Record{但是我需

php - Doctrine 2 注释和 "var"

谁能告诉我注释配置中“@var”的含义是什么?例如:/***@Column(type="string",length=20,unique=TRUE)*@varstring*/protected$login; 最佳答案 它告诉你它是什么类型的变量。例如,无论是整数、字符串还是对象。它用于自动记录流程 关于php-Doctrine2注释和"var",我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

php - 在 Doctrine DQL 查询中使用 COLLATE (Symfony2)

我找不到任何与在带有Doctrine的DQL查询中使用COLLATE相关的内容(当然它似乎不起作用)。我的具体问题:我有一个包含utf8_general_ci字符集的表。我在其中有一个特定字段,其中包含重音字符(如“á”、“ű”、“ő”等)与utf8_general_ci的基本比较无法确定常规字符与其重音对(a=á、u=ű、o=ő)之间的区别,这对我来说完全没问题大多数查询都落在该表上!所以如果我有让我们说:col1|col2------|-------1|árvíz------|-------2|arviz此查询将返回两个结果:SELECT*FROM`table`WHERE`col2

php - Symfony2/Doctrine 如何在实体中存储相关对象的数量

我已经设置了一个包,其中有一个测试对象,其中包含许多testQuestion对象,每个对象都是一个问题和给定的答案(如果没有答案,则为0)。从Twig我希望能够从测试对象中获取信息,以说明有多少问题以及已经回答了多少问题。我创建了一个查询以将其从数据库中提取出来,并且在测试实体中我创建了2个新属性来存储问题数和回答数。我创建了一个TestRepository,其中包含查询。Test对象检查对象是否设置了值,如果没有,则在需要时加载它,因为我并不总是需要此信息。但是,我一直在研究如何将存储库代码链接到测试对象,既要调用repo函数,又要让repo函数将值保存到相关的Test对象。Acme

php - Doctrine 修改后的 DateTime 不会持久化

这个问题在这里已经有了答案:Doctrine2ORMdoesnotsavechangestoaDateTimefield(3个答案)关闭5年前。我尝试用modify函数修改对象的DateTime字段$em=$this->getDoctrine()->getManager();$end=$session->getEndDate();$session->setEndDate($end->modify('+10seconds'));$em->persist($session);$em->flush();这是Session类中$endDate字段的setter:/***@param\DateT

php - Symfony 2 中的 Doctrine 2 - 通过关联过滤 QueryBuilder

我有两个类User和Role,我需要创建一个QueryBuilder来为拥有ROLE_PROVIDER角色。我需要这个用于Symfony2中的实体表单字段。在表单类定义中,我对上述字段有以下代码段:$builder->add('provider','entity',array('class'=>'ElCuadreAccountBundle:User','property'=>'username','query_builder'=>function(UserRepository$ur){return$ur->getUsersByRoleQB('ROLE_PROVIDER');},'req

php - Symfony2、Doctrine2、findBy() 命令不起作用

我为我的文章实体创建了一个存储库,我正在尝试获取按IDDESC排序的所有值。但是,我每次都会得到按idASC排序的值。这是我的ArticleRepository.php:findBy(array(),array('id'=>'DESC'));}publicfunctionfindOneBySlug($slug){$query=$this->getEntityManager()->createQuery('SELECTpFROMAcmePagesBundle:ArticleaWHEREa.slug=:slug')->setParameter('slug',$slug);try{retur

php - Doctrine2 ORM 不会刷新在脚本之外更改的对象

我真的不知道如何给这个标题或搜索一个已经发布的问题,如果之前在这里看到过,我深表歉意。我使用以下代码得到了一些不希望的结果://getobjectmanagers$fooManager=$this->getContainer()->get('foo_manager');$barManager=$this->getContainer()->get('bar_manager');//infiniteloopfor(;;){//keepgettingunitialized"foo"objects,orquitifnonewhile(($foo=$fooManager->findUniniti

php - 使用 Doctrine2 和 Symfony2 删除表

如何使用Doctrine2和Symfony2删除表?我已经生成了实体并更新了架构,现在我想删除这个结构。 最佳答案 不确定我是否正确理解了您的问题。您删除了一个实体并且还想从数据库中删除它生成的表?如果是这样:你不能这样做,因为Doctrine2只关心它知道的表——这意味着那些由实体表示的表。由于您从应用程序中删除了一些实体,因此Doctrine不再认为该表属于您的应用程序。有些情况下,同一个数据库中有不同应用程序的不同表。如果Doctrine仅仅因为它对它们一无所知就删除它们,那是没有意义的。这将是种族主义......但反对表格。