可移动类型:类别关系

时间:2012-04-02 13:41:42

标签: php mysql database content-management-system movabletype

我想知道MovableType CMS中Category的关系。

目前,我有两个名为“A类”和“B类”的类别。我的博客名为“博客A”。 “A类”和“B类”在“博客A”中。当我创建“条目1”下 “博客A”,我为“条目1”选择了“A类”。但是当我在数据库中检查时,我可以看到“mt_entry”表下的列名“entry_category_id”是“NULL”。

我想要做的是,我想检索“A类”下的每个条目。如果我应该在MovableType数据库下的不同表中搜索特定类别下的条目,请告诉我。

提前致谢。

2 个答案:

答案 0 :(得分:5)

列mt_entry.entry_category_id未使用(我猜它是来自旧架构版本的残余)。与条目关联的类别存储在mt_placement表中。

要检索特定类别下的每个条目,首先要找到类别ID(它在所有博客中都是唯一的,可以使用URL中的id参数通过类别列表查找,也可以搜索mt_category表),然后执行查询喜欢这个:

SELECT placement_entry_id from mt_placement WHERE placement_category_id = <your category numeric ID>;

您将获得与该类别相关联的条目ID列表。

答案 1 :(得分:2)

或者,如果您想在一个查询中完成所有操作,请尝试以下操作:

SELECT entry_id, entry_title
FROM mt_entry, mt_placement, mt_category
WHERE mt_entry.entry_id = mt_placement.placement_entry_id
AND mt_placement.placement_category_id = mt_category.category_id
AND mt_category.category_label =  'YOURCATEGORYLABELGOESHERE';

(将YOURCATEGORYLABELGOESHERE替换为您想要的类别名称)

这将返回该类别中所有条目(及其ID)的列表。

注意,如果您有多个具有相同名称的类别的博客,则可能需要添加额外的行以仅选择所需博客中的条目,例如

AND mt_category.blog_id = 2

AND mt_category.blog_id in (2, 5, 7)
相关问题