Movable Typeのカテゴリーデータの格納場所

Movable Typeのデータベースから直接データを読み込む時に、意味がわからずハマった点があったのでメモ。
エントリーのカテゴリーは、「mt_entry.entry_category_id」に記録されているのかと思ったら、どのレコードを見ても、「entry_category_id」はNULLになっている。
どこに入っているのかと思ったら、「mt_entry」とは別に「mt_placement」というテーブルがあり、この中の「placement_category_id」に、それぞれのエントリーのカテゴリーデータが保存されているという構造になっていた。
(※MT Version3.33で確認)
なので、各ブログのカテゴリーを取得するには、この2つのテーブルを結合する必要がある。
SELECT * FROM mt_entry,mt_placement WHERE mt_entry.entry_id=mt_placement.placement_entry_id
なんでこんなまぎらわしい構造になっているのか不思議だけれど、おそらく、一つのエントリに対して複数のカテゴリーを指定出来るようになったバージョンアップの時に、カテゴリーデータをエントリーテーブルから分離したためだろうと思う。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

フォローする

スポンサーリンク
レクタングル(大)広告