草庐IT

doctrine

全部标签

php - 在 Doctrine 2 实体上映射额外的行

问题是,我的用户的评分是通过MtM关系平均得出的,例如一个User有很多Ratings并且Rating实体字段值的平均值是用户的评分。我想做的是找出一种方法,以某种方式将这些数据放入用户模型、虚拟字段或诸如此类的东西中。我设法为它创建了一个非映射属性和访问器方法,这样界面就很牢固,我的View看起来也不错。该属性显然没有映射到Doctrine中。然后似乎我已经深入挖掘了每个Doctrine内部。我查看了hydrators和ResultSetMappings,但似乎没有将计算字段推送到实体字段的好方法。所以,这就是我想出的办法。这是我加入并选择额外字段的地方:$qb->select('u

php - 调用未定义函数 Doctrine\Common\is_object()

fatalerror:在第240行调用D:\WorkspaceAll\cmf\sandbox\vendor\doctrine\common\lib\Doctrine\Common\ClassLoader.php中未定义的函数Doctrine\Common\is_object()当我尝试在Windows本地主机上安装CMF沙箱时。这怎么可能?有人可以帮我解释一下吗?这是函数:publicstaticfunctionclassExists($className){if(class_exists($className,false)||interface_exists($className,f

php - 如何通过 SyliusResourceBundle 使用 Sylius 创建新模型

我找到并成功使用了有关如何在Sylius中覆盖现有模型的文档,但我无法使用SyliusResourceBundle创建一个全新的模型。如果您已经了解Symfony2,我猜这很容易?我还在学习,这就是我所拥有的……我缺少什么?我使用完整的Sylius安装作为我的基础,所以我从这里开始http://sylius.org/blog/simpler-crud-for-symfony2我有自己的“AstoundBundle”设置和几个覆盖和Controller。我将此添加到我的配置中:sylius_resource:resources:astound.location:driver:doctri

php - Symfony2 Doctrine2,是否有 'REPLACE INTO' 函数?

我做了一些研究,显然Doctrine不支持REPLACEINTO所以我想知道是否有等效项?如果主键不存在,Doctrine有没有办法只执行INSERTINTO?类似于:$em=$this->getDoctrine()->getManager();$em->replace($entity);$em->flush();还是必须写成条件?如果实体存在,则更新,否则插入? 最佳答案 如果主键不存在你可以做FindOneBy$entity=$entity->getRepository('Entiy\YOurEntiry')->findOneB

php - 与简单的 PDO 相比,Doctrine 的数据库抽象层提供了什么?

如果我使用Doctrine'sDatabaseAbstractionLayer我会得到什么(DBAL)在简单的PDO上?PDO本身不应该是一个抽象层吗?据我所知,我获得的唯一好处是能够将Oracle的oci8驱动程序与类似PDO的API一起使用。我错过了什么? 最佳答案 任何数据库抽象层的好处都是减少开发人员错误的数量(不仅如此)。它们之间的区别在于抽象级别。例如,DBAL建立在PDO之上。这意味着,DBAL的抽象级别肯定比PDO高一些。无论如何,它们都是非常低的抽象级别。仅当您非常了解相关数据库时才应使用它们。我的意思是,您应该了

php - 我可以覆盖消费者类中的 PHP 特征属性以使用 Doctrine2 注释吗?

我正在使用特征在Symfony应用程序中实现一些可标记的行为,使用Doctrine2实现持久性,并使用注释来配置它。我的主要烦恼是,在特征中,我的IDE不知道$this->标签的类型,并抛出一堆警告。我对在此处记录我的代码非常强制症,这样其他开发人员就很容易上手。traitTaggableMethods{/**@var\Doctrine\Common\Collections\Collection*/protected$tags;//tags->add($tag);}publicfunctionremoveTag(Tag$tag){$this->tags->removeElement($

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