2009-06-14 8 views
0

ブログのコメントシステムを作成しようとしています。私は変更された予約注文トラバーサルシステムを使用しています(このガイドで使用されています:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/)。コメントシステムの変更済み予約注文トラバーサル

しかし、私はいくつかの問題があります。私はそのガイドが、異なるブログ記事を管理する方法と、返信ではないコメントを追加する方法について説明しているとは思わない。

私のコメントのテーブルには、次のようになります。

+-------------+----------------------+-----+-----+ 

| comment_id | message    | lft | rgt | 
auto increment 
+-------------+----------------------+-----+-----+ 

が、これはこれを管理するための良い方法です:

私は「blog_post_id」と「根」と呼ばれる私のコメントのテーブルに列を追加します。ブログ投稿を作成すると、コメントテーブルにblog_post_idを付けてエントリを追加し、ルートをtrueに設定します。次に、lftはcomment_id、rightはcomment_id + 1です。

ブログ投稿のコメントを読み込むには、blog_post_id = xとroot = trueのlftとrgtを見つけて、すべてのコメントを選択しますblog_post_idがxであるlftとrgtの間で...

私はこのメソッドを思いついたので、もっと良い方法があるはずです。 blog_post_id列を追加し、仮想コメント(コメントツリーのルート)としてブログ記事自体を考慮に関する

おかげ

答えて

0

どのように?次に、複数の子を持つことができます。この方法を使用

は、あなたがすべてのクエリにAND blog_post_id == fooを追加して、常にルートのコメントを無視する注意点と、そのままその記事からのすべてのアルゴリズムを使用することができます(それはブログ自体を意味するので。)

関連する問題