2012-04-02 72 views
4

我想知道MovableType CMS中類別的關係。可移動類型:類別關係

目前,我有2個類別名爲「類別A」和「類別B」。我有博客名爲「博客A」。 「類別A」和「類別B」在「博客A」中。當我在 「博客A」下創建「條目1」時,我爲「條目1」選擇了「類別A」。但是當我檢查數據庫時,我可以看到「mt_entry」表下的列名「entry_category_id」爲「NULL」。

我想要做的是,我想檢索「類別A」下的每個條目。請讓我知道,如果我應該在MovableType數據庫的不同表中搜索特定類別下的條目。

在此先感謝。

回答

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列表。

+0

它幫助了我。感謝弗朗索瓦! – Casper009 2012-04-03 10:43:13

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)