草庐IT

Doctrine

全部标签

php - Doctrine 和大量数据

我有一个返回~50k行的查询,似乎Doctrine将整个结果放入内存超过内存限制(128M)我发现唯一可以节省内存的解决方案是$result->execute(array(),Doctrine_Core::HYDRATE_NONE);但还是超出了限制,有什么办法可以一次读一行吗? 最佳答案 DoctrineDocumentation-13.BatchProcessing更新:对于1.2,请查看此页面:http://docs.doctrine-project.org/projects/doctrine1/en/latest/en/ma

php - 如何在 Doctrine 2 中使用多对一关联

我在Zend中使用Doctrine2。我正在尝试找出如何从当前对象访问相关模型的属性/方法。例如,我们有两个表:Schools和Students。许多学生属于一所学校,所以这是一个多对一关系,我只对列出每所学校的所有学生感兴趣。我不想查询学生记录以查找他们所属学校的详细信息,因此这被归类为单向关系。现在要在Doctrine2中的表之间设置多对一关系,我将其添加到Students实体中,因为它是拥有方:/***@ManyToOne(targetEntity="Schools")*@JoinColumn(name="school_id",referencedColumnName="scho

php - 类别树的路由

我正在使用Tree类别树的Doctrine扩展,并希望有这样的路线:/cat/subcat1/subcat2/subcat3我可以像这样定义路由/{cat}/{cat}/{subcat}/{cat}/{subcat}/{subcat2)etc...但是有没有更优雅和通用的实现方式呢?一个可以接受无限数量关卡的系统? 最佳答案 您可以做的是在您的路由参数中接受斜杠(仅适用于此路由)。它涉及您不能对任何其他参数进行排队,因为斜线分隔符将被视为类别参数的一部分...那么,如何管理路由参数中的斜线:_hello:pattern:/categ

php - 使用 Doctrine 2 在 Zend Framework 2 中进行验证

我现在对ZendFramework2越来越熟悉,与此同时,我正在更新ZendFramework2中的验证部分。我已经看到几个示例如何使用Zend验证数据库中的数据Db适配器,例如ZendFramework2官网的代码://Checkthattheusernameisnotpresentinthedatabase$validator=newZend\Validator\Db\NoRecordExists(array('table'=>'users','field'=>'username'));if($validator->isValid($username)){//usernameapp

php - Symfony 2 + Doctrine 2 覆盖实体配置

我有一个案例,我需要跨多个应用程序(位于同一项目中)重用通用原则实体。这些应用程序仅仅是相应机构使用的信息系统的实例。我已将所有实体和存储库隔离到单独的包中,到目前为止效果很好。重点是:我收到了一个要求,即只有其中一些实例需要支持其他一些功能。修改将包括向某些实体添加新的属性/关系。这是一个简短的例子:我们有一所大学,它有许多教员单位(即实例)。信息系统的建立仅支持学士学习计划,但一个月前我们收到了支持专业和硕士学习的要求。他们想处理所有他们认为相同的应用程序实例。这仅适用于其中一些实例。问题:有什么方法可以在保持原始实体功能的同时“覆盖”受影响的实体吗?我可以完全覆盖实体配置(YAM

php - 如何重新生成 crud -- Doctrine :generate:crud after editing the entity

我需要编辑我的实体以获得更多值。我已经用我之前的值生成了crud。如何在编辑实体后通过应用程序/控制台重新生成crud,以便它自动为其他值生成函数。 最佳答案 为此,您需要删除为此crud生成的Controller、View和表单。然后你可以从头开始重新生成。不过,请谨慎使用这种方法,因为您显然会丢失对这些文件中的任何一个所做的任何自定义设置。如果我没有对Controller、表单或模板进行任何更改,我只会这样做。否则,您应该手动将新字段添加到您的表单和View中。编辑:如果您是Symfony的新手,那么我建议您手动添加数据以了解它

php - 在 Symfony 2/Doctrine 2 中是否有 "generate-migrations-db"等价物?

这是解释“generate-migrations-db”作用的遗留文档:http://symfony.com/legacy/doc/doctrine/1_2/en/07-Migrations它说Generatemigrationclassesfromexistingdatabaseconnections(doctrine-generate-migrations-db,doctrine-gen-migrations-from-db)还有:GeneratingMigrationsDoctrineofferstheabilitytogeneratesetsofmigrationclasses

php - 当我打开 php opcache 时,Doctrine 吓坏了

我在使用Doctrine和PHP5.5.6Opcache时遇到了一个非常奇怪的问题。当opcache模块关闭时,一切正常。打开它后,我开始收到以下异常:Fatalerror:Uncaughtexception'Doctrine\ORM\Mapping\MappingException'withmessage'Class"Admin\Models\Users\Role"isnotavalidentityormappedsuperclass.'invendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.phponline3

php - DQL select 语句中的参数(Symfony2/Doctrine)

我正在尝试在DQL-sSELECT部分中使用外部参数,但由于错误而无法正常工作。我正在尝试:$query=$this->getEntityManager()->createQuery("SELECTme.column_one,:param_doesnt_workparamFROMCompanyMyBundle:MyEntitymeWHEREme.column_one=:param_oneANDme.column_two=:param_two")->setParameters(array('param_doesnt_work'=>'Astaticvalue','param_one'=>'

php - 如何删除实体是从 generate :doctrine:entity 生成的

我使用命令行phpapp/consolegenerate:doctrine:entity创建了一个实体。现在我想删除那个实体(yml,模式..)。我删除了Doctrineyml文件和Entity目录,但是当我使用命令行doctrine:schemal:create时,它总是创建Tablewhichname=thatEntityinDatabase? 最佳答案 要删除生成的实体,请删除包含架构的yml,该架构位于BundleName/Resources/config/doctrine/entityName.orm.yml文件中。然后,