No, 一个学期可以有许多孩子,但只有单亲。数据库中的父字段只能保存一个值。
这是一种层次化的一对多关系,而不是多对多关系。
帖子也是如此。一篇文章只能有一个父项,但有许多子项。要解决这个问题,您需要使用分类法。
关于的旁注wp_term_taxonomy
, 有人建议,同一术语在该表中可以有多个条目,允许它有多个父项,并在多个父项中共享。
以下是数据库架构:
正如您所看到的,如果同一术语和分类法被多次引用,但使用不同的父项,可能一个术语可以有多个父项?
No, 这个term_id
和taxonomy_id
都是unique, 如果不更改其模式,则无法在该表中创建这样的内容。为了证明这一点,我打开了sequel pro。
在我的博客本地副本中,我们有一个术语:
它有一个4的父级,让我们尝试给它另一个5的父级:
INSERT INTO `tjn2_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`)
VALUES
(13, 13, \'category\', \'\', 5, 0);
运行此查询时,会出现以下错误:
So no, a term cannot have more than one parent. But even if it could, there would be no mechanism in the APIs to find out short of raw SQL statements, so such a term would be useless and unusable in the frontend and backend UIs