我有一个Author
实体,它是含有一类表继承AuthorUser
和AuthorGroup
。
/**
* Author
*
* @ORM\Table
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"user" = "AuthorUser", "group" = "AuthorGroup"})
*/
class Author {
// ...
}
AuthorUser
涉及到我的User
实体和AuthorGroup
我的Group
实体。
class AuthorUser extends Author
{
/**
* @var User
*
* @ORM\ManyToOne(targetEntity="User", inversedBy="?????")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
}
class AuthorGroup extends Author
{
/**
* @var Group
*
* @ORM\ManyToOne(targetEntity="Group", inversedBy="?????")
* @ORM\JoinColumn(name="group_id", referencedColumnName="id")
*/
protected $user;
}
我不知道如何反此。 无论如何,问题是,我有这个CTI添加到我的Article
实体领域。 我如何能与使用多对一本条实体领域?
class Article
{
/**
* @var Author
*
* @ORM\ManyToOne(targetEntity="Author", inversedBy="?????????")
* @ORM\JoinColumn(name="author_id", referencedColumnName="id")
*/
protected $author;
}
我不知道如何使这一尽可能透明。 当我创建一个新的Article
,我需要可以提供一个User
或Group
对象的author
字段。 我跟着这种行为,但它似乎并没有帮助。 它会变得更加复杂。