草庐IT

doctrine

全部标签

php - 使用 Symfony2 的表单 - 具有一些不可变构造函数参数和 OneToMany 关联的 Doctrine Entity

IhaveaOneToManyassociationbetweenaServerentityandCliententitiesinthedatabase.Oneservercanhavemanyclients.Iwanttomakeaformwheretheusercanchooseaserverfromadropdown,fillinsomedetailsforanewclient,andsubmitit.目标要创建一个表单,用户可以在其中将数据输入到Client的字段中,请从下拉列表中选择一个Server,然后单击提交并获得此数据(以及association)通过Doctrine持

php - 在 Doctrine 中,如何为 Entity 实现额外的模型功能

假设我有一个Doctrine(版本2)的实体,如下所示:现在,我想管理User与Group的关系,但是有一些条件,比如:返回NULL(或\AppBundle\Entity\Group的某种骨架/模板,具有未从数据库加载的固定值)如果Groupusers.group_id的>不存在,即使它被设置为一个值(数据库中没有设置键限制来防止这种行为),所以需要某种验证/检查延迟加载Group,当调用$user->getGroup()我一直在阅读谷歌,但我对如何正确(按照Doctrine/Symfony方式)实现这一目标感到困惑。我可以将ManyToOne添加到实体的类关系中,如下所示:/***@

php - Doctrine 2 - 使用类表继承时的访问级别问题

我正在尝试实现ClassTableInheritance我的Symfony2项目中提供了Doctrine2。假设有一个Pizza类、Burito类和一个MacAndCheese类,它们都继承自Food类。Food类具有以下设置:"MacAndCheese"})*/classFood{/***@ORM\Id*@ORM\Column(type="integer")*@ORM\GeneratedValue(strategy="AUTO")*/protected$id;并且继承的类具有这些设置(例如Pizza):当从Symfony2应用程序/控制台运行doctrine:schema:updat

php - Doctrine2 一对多/多对一关系

因此,1:M/M:1关系不像M:M关系那样工作(很明显),但我认为通过适当的配置,您可以获得与M:M关系相同的输出。基本上,我需要向path_offer添加另一个字段(位置)。在我尝试使用$path->getOffers()之前,我认为它可以正常工作,它返回了一个PersistentCollection而不是我认为是强制的(一个ArrayCollectionofOffers)。无论如何,在当前表中,我有两个条目:一条路径的两个报价。$path->getOffers()正在返回一个PathOffer的PersistantCollection,它只有一个Offer被附加,而没有两者。我的问

php - Doctrine2 刷新单个删除的实体

尝试删除一个实体,而不保留其他更改。请注意(虽然在这种特定情况下它并不是真正需要的)该方法不应影响操作后调用的flush()的结果。$em->remove($entity);$em->flush($entity);这将抛出一个'InvalidArgumentException'消息'必须为单个计算管理实体。我可以只使用DQL来删除;只是想知道是否有办法通过实体管理器来完成。 最佳答案 我忘了transactions,我必须测试://$eminstanceofEntityManager$em->transactional(functi

php - Doctrine ManyToMany 同一实体重复输入错误

我必须将同一个字段与不同的参数相关联。多对多:/***@ORM\ManyToMany(targetEntity="BRCN\TaxonomyBundle\Entity\Taxonomy",mappedBy="genderCategories")*/private$genders;/***@ORM\ManyToMany(targetEntity="BRCN\TaxonomyBundle\Entity\Taxonomy",inversedBy="genders")*@ORM\JoinTable(name="menu_relations",*joinColumns={@ORM\JoinCol

php - Symfony2 : Doctrine does not load related entities in many-to-many relation

我有一个多对多关系,当我加载位于此关系一侧的实体时,我希望将另一侧相关实体的ArrayCollection视为其属性。然而,这并没有发生——加载的ArrayCollection中没有任何元素,而在数据库中我可以看到相关条目。可能是什么原因?这是我的代码:关系的一侧,ConsolidatedReport类:/***@varArrayCollection**@ORM\ManyToMany(targetEntity="P24\Response",inversedBy="consolidatedReports")*@ORM\JoinTable(name="con_rprt_responses"

php - Doctrine CLI 输出 doctrine.php 的内容

我遵循了关于整合doctrine2和ZF2的在线教程。我能够将数据插入数据库,但每当我运行doctrineCLI时,它都会输出:#!/usr/bin/envshSRC_DIR="`pwd`"cd"`dirname"$0"`"cd"../doctrine/orm/bin"BIN_TARGET="`pwd`/doctrine.php"cd"$SRC_DIR""$BIN_TARGET""$@"我用教程中的代码替换了doctrine.php的内容。 最佳答案 我在这里的另一个问题上发现了这个,它适用于Windows。在vendor/doct

php - Doctrine 2 preUpdate 事件 - 插入时未触发?

我有一堆同时具有date_created和date_modified字段的实体,我试图让这些字段在插入或更新时自动设置。date_created仅在插入时设置,但date_modified在插入或更新时设置。我的实体类中有一个带有@PreUpdate注释的方法,但它似乎只在实体更新时才会被调用。插入新实体时不会调用它。文档是这样描述preUpdate事件的:“preUpdate事件发生在对实体数据进行数据库更新操作之前。”这是正确的行为吗?如果是这样,在更新或插入之前调用方法的最佳方法是什么?目前,如果我同时使用@PreUpdate和@PrePersist标记该方法,那么它就可以工作,

php - Doctrine 和未更新的关系

我在Doctrine(1.2.4)中看到了意想不到的缓存效果。我有几个由以下YAML定义的相关表(删除了示例中未使用的几个附加字段)。只是一个简单的一对多关系,从学生到学校。School:tableName:tblschoolcolumns:sch_id:name:sch_idasidprimary:trueautoincrement:truetype:integer(4)sch_name:name:sch_nameasnametype:string(50)Student:tableName:tblstudentcolumns:stu_id:name:stu_idasidprimary