【问题标题】:Movable Type: Category relationships可移动类型:类别关系
【发布时间】:2012-04-16 04:21:16
【问题描述】:
我想知道MovableType CMS 中Category 的关系。
目前,我有 2 个类别,分别名为“A 类”和“B 类”。我有一个名为“Blog A”的博客。 “A 类”和“B 类”在“博客 A”中。当我在下创建“条目 1”时
“Blog A”,我为“Entry 1”选择了“Category A”。但是当我签入数据库时,我可以看到“mt_entry”表下的列名“entry_category_id”是“NULL”。
我想做的是,我想检索“A 类”下的每个条目。请让我知道我是否应该在 MovableType 数据库下的不同表中搜索特定类别下的条目。
提前致谢。
【问题讨论】:
标签:
php
mysql
database
content-management-system
movabletype
【解决方案1】:
或者,如果您想在一个查询中完成所有操作,请尝试以下操作:
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)
【解决方案2】:
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 列表。