我正在尝试向供应商包中的现有实体添加多对一关联。
这是供应商包中的实体: -
class Post
{
private $id;
private $title;
private $accroche;
private $article;
private $categories;
private $comments;
private $created;
private $updated;
private $publied;
}
并且,这是供应商包中的Post实体的orm映射文件: -
Mv\BlogBundle\Entity\AdminBlog\Post:
type: entity
table: null
repositoryClass: Mv\BlogBundle\Entity\AdminBlog\PostRepository
id:
id:
type: integer
generator:
strategy: AUTO
fields:
title:
type: string
length: 150
accroche:
type: text
article:
type: text
created:
type: datetime
gedmo:
timestampable:
on: create
updated:
type: datetime
gedmo:
timestampable:
on: update
publied:
type: datetime
manyToMany:
categories:
targetEntity: Mv\BlogBundle\Entity\AdminBlog\Category
inversedBy: posts
joinTable:
name: post_category
joinColumns:
post_id:
referencedColumnName: id
onDelete: CASCADE
inverseJoinColumns:
category_id:
referencedColumnName: id
onDelete: RESTRICT
oneToMany:
comments:
targetEntity: Mv\BlogBundle\Entity\AdminBlog\Comment
mappedBy: post
我创建了一个供应商包的子包。我研究了mappedSuperclass并尝试了其他继承方法。但是他们都没有为“Post”实体添加关联。
我只想拥有以下内容(尝试在orm映射文件中添加它但不能正常工作): -
manyToOne:
user:
targetEntity: TP\Bundle\MainBundle\Entity\User
joinColumns:
user_id:
referencedColumnName: id
答案 0 :(得分:0)
作为解决方案,我可以建议SonataEasyExtendsBundle。正如docs所说,它解决的一个问题是:
如果开发人员想要将新属性添加到VB实体中,那么 开发人员需要使用自定义映射创建新的子实体。
但它有一些requirements供应商套件。您可以阅读简短explanation并确定它是否适合您。