【发布时间】:2013-12-24 10:46:20
【问题描述】:
我的数据库架构:
LIKE PAGE ARTICLE
id id id
userid name text
我的问题 - 如何使用 LIKE 表在 PAGE 表和 ARTICLE 表之间建立关系? 通常:
点赞.php:
/**
* @ORM\ManyToMany(targetEntity="Page", inversedBy="likes")
*/
protected $pages;
/**
* @ORM\ManyToMany(targetEntity="Article", inversedBy="likes")
*/
protected $articles;
页面.php:
/**
* @ORM\ManyToMany(targetEntity="Like", mappedBy="pages")
* @ORM\JoinTable(name="like_page")
*/
protected $likes;
文章.php:
/**
* @ORM\ManyToMany(targetEntity="Like", mappedBy="article")
* @ORM\JoinTable(name="like_article")
*/
protected $likes;
但是,两个表(页面和文章)中的 ID 列将相同。不会实现。 我该怎么办?
【问题讨论】:
-
最好让实体存储一个 AddressID - 或者为每个引用的实体实现单独的列,并在数据库中设置一个检查约束,以确保其中一个实体是非空的。
标签: php mysql sql symfony doctrine-orm