草庐IT

Doctrine_RawSql

全部标签

php - "Access Denied Code 5"Symfony2/Doctrine2 PHP重命名错误

当使用用户实体登录时,我在我的Symfony2项目中遇到臭名昭著的Doctrine“PHPRenameAccessDeniedCode5”错误:\\app\\cache\\dev/doctrine/orm/Proxies\\__CG__AcmeDemoBundleEntityUser.php):Accessisdenied.(code:5)我会登录OK,如果幸运的话,我可以在session被终止之前加载一个页面,因为此错误导致用户身份验证失败。它只发生在这个实体上。我的同事,使用相同的设置和相同的项目有相同的错误,但对于不同的实体(并且只有那个实体)。此问题已报告onherebefor

php - 使用 Doctrine 的 Symfony2 抽象类多重继承

我得到了以下UML方案:基本上,这是分类系统的开始,其中一些是可嵌套的,而另一些则不是。我开始尝试制作2层抽象类(Taxonomy和OfferCategory),因为它们都不能用作最终实体。我使用了MappedSuperClass,但出现以下错误:[Doctrine\ORM\ORMException]Columnname`id`referencedforrelationfromLCH\CatalogBundle\Entity\HomeOfferCategorytowardsLCH\CatalogBundle\Entity\OfferCategorydoesnotexist.我的主键字段

php - 如果服务器离线,如何告诉 Doctrine 忽略 Memcached?

我正在我的Symfony2应用程序上测试Memcached我将其设置为缓存Doctrine的查询、结果和元数据:orm:entity_managers:default:metadata_cache_driver:type:serviceid:doctrine.cache.memcache2query_cache_driver:type:serviceid:doctrine.cache.memcache2result_cache_driver:type:serviceid:doctrine.cache.memcache2services:memcache:class:Memcacheca

php - PostgreSQL 中的 Doctrine ORM ArrayCollection

我注意到在PostgreSQL数据库中使用DoctrineORM的ArrayCollection有一些奇怪的事情(在Symfony3项目中使用它)。将我的User类作为角色,它以默认角色ROLE_USER启动,并且必须是array类型。classUserimplementsUserInterface,Serializable{/***@varArrayCollection**@ORM\Column(name="roles",type="array")*/private$roles;publicfunction__construct(){$this->roles=newArrayColl

php - Doctrine 2 获取对 id=>value

你好,我有一个简单的问题。我正在使用Doctrine2,我需要从特定表中获取对作为数组。例如,我有表"Category"和列('id','name','description',...)我想获取所有行数组格式(category.id=>category.name)如下:array(7=>'News',8=>'Sport',11=>'Work')(在此示例中,我只有3个ID为7、8、11的类别)。有什么简单快捷的方法吗? 最佳答案 我认为,在这种情况下,您应该编写自己的自定义水化器CustomHydrationModes

php - Doctrine 选择空值

是否有可能执行如下操作:$builder=$this->getEntityManager()->createQueryBuilder();$builder->select('f.id',...'NULLASmissing_attribute')->from(...,'f')...;并避免:Doctrine\ORM\Query\QueryException:...got'NULL' 最佳答案 解决方法来自https://github.com/doctrine/orm/issues/1670#issuecomment-591495663

php - 使用 PHPUnit 对 Doctrine 对象进行单元测试

我开始尝试使用PHPUnit测试我的Doctrine对象,并且希望每次都从我的模型对象重新加载数据库。我的第一次尝试看起来像这样:classTests_UserextendsPHPUnit_Framework_TestCase{publicfunctionsetUp(){Doctrine_Manager::connection('mysql://user:pass@localhost/testdb');Doctrine::createDatabases();Doctrine::createTablesFromModels('../../application/models');}pub

php - 禁用项目时如何在 Symfony 中迁移 Doctrine 数据库

所以我用禁用了我的网站symfonyproject:disable--env=prod并将我的新代码同步到服务器。但是现在当我运行的时候symfonydoctrine:migrate--env=prod我收到该网站当前不可用的警告。我显然(还)不想启用该项目,因为我首先想让它一切正常。执行此操作的正确方法是什么? 最佳答案 你是对的。这在默认情况下不起作用。如果您的生产数据库在您的开发机器上可用,您可以通过以下方式在此机器上开始迁移:$>phpsymfonydoctrine:migrate--env=prod这就是我在部署脚本中所做

php - 将派生字段添加到 Doctrine_Record 子类的最佳方法是什么?

假设我有一个名为“item”的表,其中有一列名为“price”。除了全价之外,我还想获得12个月的价差,即classItemextendsDoctrine_Record{...publicfunctiongetMonthlyPrice(){return$this->price/12;}}现在,假设我想让Item表现得像每月价格只是另一列而不是函数调用,例如,$m=Doctrine_Core::getTable("Item")->find(1);echo$m->price;//prints120echo$m->monthlyPrice;//prints10我的第一直觉是覆盖__get()

php - Doctrine 2.0 是否像 Propel 1.5 那样预先生成模型类?

Propel可以根据模式文件生成类。一些生成的类是:对象(例如用户)对等点(例如UserPeer)查询(例如UserQuery)对象类(用户)包括所有属性的getter和setter。例如$user=newUser();echo$user->getEmailAddress();我的问题是:Doctrine2.0可以做到这一点吗?它是否生成基类并添加getter和setter? 最佳答案 是的,Doctrine2确实支持类生成的模式,我更喜欢YAML而不是XML,所以这里是覆盖http://www.doctrine-project.o