这是我的问题。我的捆绑包中有几个实体。我正在尝试制作一个捆绑包来管理电影。但是,在某些情况下,演员也可以是导演,反之亦然。所以我把他们命名为“艺术家”。然后,在每部电影中,在电影实体中,我想指定一对“艺术家”作为导演,一对作为演员,一对作为剧本/作家。但是,我无法通过多对多关系多次引用 Artist 实体。这是我正在尝试做的事情:
/**
* @ORM\Entity
* @ORM\Table(name="movies")
*/
class Movie
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=100)
*/
protected $title;
/**
* @ORM\Column(type="string", length=100)
*/
protected $image;
/**
* @ORM\ManyToOne(targetEntity="Artist", inversedBy="movies")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
protected $actors;
/**
* @ORM\ManyToOne(targetEntity="Artist", inversedBy="movies")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
protected $directors;
/**
* @ORM\ManyToOne(targetEntity="Artist", inversedBy="movies")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
protected $writers;
我怎样才能避免这个问题?