草庐IT

OneTomany

全部标签

php - Symfony2 OneToMany 关系和形式

我一直在为一个新项目使用Symfony2,但遇到了一个相当愚蠢的问题。我的两个Doctrine实体Item和Comment之间存在OneToMany关系。我现在有一个表单供用户为给定项目创建新评论。当创建一条新评论时,这条评论当然有一个属性Item,它应该被设置为当前正在评论的项目。当单击项目上的评论链接时,一个id作为参数发送到表单页面,我的计划是让这个id填充一个隐藏字段,然后使用DataTransformer在回发时将其转换为一个项目。但实际上我该如何实现呢?我如何将此id放入表单的隐藏字段中,以便DataTransformer可以正确处理它?或者在Symfony2中使用表单时是

php - 在 Doctrine 中过滤 @OneToMany

我有一个@OneToMany关系:/***@OneToMany(targetEntity="\MyApp\Entities\Content",mappedBy="clist")*@OrderBy({"contentOrder"="ASC","id"="ASC"})*/private$contents;我得到了所有的Content,其中clist属性是当前实例的id。但是Content类也有一个isDeleted属性。如果它设置为true,我想将它从列表中排除。这怎么可能?我可以在getContents()函数中过滤列表,但我希望有更好的解决方案。也许在@OneToMany关系的定义中以

php - Symfony2 OneToMany 嵌入表单不保存实体

我对Symfony2中的OneToMany嵌入式表单一直存在问题。这一次,实体被保存了,但没有保存对父类的引用。我的table看起来像那样|id|position|content|about_id||29|1|test1|NULL|我不明白为什么这个about_id仍然是NULL。我的关系:实体关于:classAbout{/*....*//***@ORM\OneToMany(targetEntity="AboutContent",mappedBy="about",cascade={"persist","remove"})*/private$content;/***Addcontent*

php - 如何完全刷新具有@OneToMany 关系的实体?

在我的项目中有一个Cart和一个CartItem实体,如下所示:classCart{/***@OneToMany(targetEntity="CartItem",mappedBy="cart")*/private$items;//...}classCartItem{/***@ManyToOne(targetEntity="Cart",inversedBy="items")*@JoinColumn(name="cart_id",referencedColumnName="cart_id")*/private$cart;//...}如果我调用EntityManager::refresh($

php - 序列化时,Doctrine oneToMany 关系导致反向实体上的外键为 null

Relevantinformation:I'musingSymfony2.8.x,Doctrine2.4.8andJMSSerializerBundle1.0.一个Resource可以有很多Experiences。我正在进行API调用以检索Resource和所有关联的Experience。但是,我返回的JSON在Experience实体的$resource上包含一个null。我正在使用以下方法来检索Resource:$this->findBy([],[],$limit,$offset);我不认为这应该是一个问题,因为我已经尝试直接在注释中将获取模式设置为EAGER-这仍然没有奏效。我还

php - 需要帮助从 ManyToOne 获得 OneToMany 关联

首先让我说我之前问过类似的问题并得到了回答。我尝试在这里使用这些原则,但我再次陷入困境,我不确定从这里去哪里。我有一个页面,其中列出了所有“产品”及其相关ID、价格和名称。在同一页面上,我想获得我为每个人创建的描述。描述是它自己的实体并且有它自己的Controller。在我的ProductController中,在我的indexAction中,我试图让描述出现在这里。问题是,我没有在indexAction中引用id(我使用findAll)。我尝试使用$key遍历所有产品和引用,但我要么获得在描述中输入的最新描述,要么当前:错误:调用非对象上的成员函数getDescriptions()。

php - symfony2 JMSSerializerBundle 反序列化具有 OneToMany 关联的实体

我在doctrine2设置中有CategoryOneToManyPost关联,如下所示:类别:.../***@ORM\OneToMany(targetEntity="Post",mappedBy="category")*@Type("ArrayCollection")*/protected$posts;...帖子:.../***@ORM\ManyToOne(targetEntity="Category",inversedBy="posts")*@ORM\JoinColumn(name="category_id",referencedColumnName="id")*@Type("Pla

java - 有效地确定通过 OneToMany 关系引用的实体的 ID

假设我有一个Hibernate实体,它声明了与另一个实体的OneToMany关系:@EntitypublicclassSomeEntity{@OneToMany(fetch=FetchType.LAZY)privateListotherEntities=newLinkedList();[...]}当将SomeEntity映射到相应的DTO时,我所需要的只是将OtherEntity标识为主键的ID(即,我实际上对OtherEntity不感兴趣实例)。Hibernate是否支持这种模式,即仅检索通过OneToMany关系引用的实体的ID?我无法影响SomeEntity的检索方式(即,我在当

java - 获取 JPA @OneToMany 集合返回空

我正在尝试一些EJB3inAction使用Glassfish4(EclipseLink)+JavaDB的示例。所以我有以下关系@Entity@Table(name="ITEMS")publicclassItemimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateLongitemId;...privateListbids=newArrayList();@Id@Column(name="ITEM_ID")publicLonggetItemId(){returnitemId;}publicvoidse

java - 注释映射双向 OneToMany/ManyToOne 不获取?

我显然很难理解这一点,因此非常感谢您的帮助...我有以下映射:@Entity@Table(name="parent")publicclassParentEntity{...@Id@Column(name="parent_id")privateLongid;...@OneToMany(mappedBy="parent",fetch=FetchType.EAGER)privateListchildren;...}@Entity@Table(name="child")publicclassChildEntity{...@Id@Column(name="child_id")privateLon