我在定义关联映射时遇到问题,我不知道该怎么做才能解决。
我希望在两个对象之间构建一个多对多的关系,但不仅仅是一个字段。
一张表是指人物,另一张表示图像,此关系的目标表示当某人被其他人标记为此图像时
我需要这样的东西:
我尝试使用这样的多对多关系:
/**
* @ORM\ManyToMany(targetEntity="Media")
* @ORM\JoinTable(name="persons_tagged",
* joinColumns={
* @ORM\JoinColumn(name="user_tagged", referencedColumnName="id"),
* @ORM\JoinColumn(name="user_tagger", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="media_id",referencedColumnName="id")
* }
* )
**/
private $employeeTagged;
当我尝试通过控制台更新架构时,它创建了DB中的表但没有外键,因为抛出了外键定义的异常,我必须手动创建外键。
有人有类似的问题或解决方法吗?感谢
答案 0 :(得分:2)
创建一个新实体,该实体具有图像链接,链接到标记(用户),链接到标记(用户)。
您可能还想添加创建的日期时间,更新的日期时间,此人所在的图像部分,说明/文字等。