ドキュメントセンター よくある質問 文書資料
はじめに - ドキュメントセンターについて 使用条件 ご意見・ご感想は公開会議室へ 著作権表示
ホーム ドキュメントセンター 新着文書 よくある質問 FAQ 問答集 ビジネス 事業計画 概況 デベロッパー 技術資料 仕様書 ガイドライン 想定された使い方 ヘルプ 利用方法や一般的な操作方法 その他の文書

はじめに
ドキュメントセンターを初めてご利用する方や運営方針についての基本的な姿勢をご覧になりたい方へ。

ドキュメントセンター 新着情報
GetCurrentImage failedと出て、画像の保存ができないのですが? (FAQ) 2007.08.23
clamavをclamav-0.90以降に更新すると、clamdが起動しなくなりましたが? (FAQ) 2007.07.31
make.confにX11BASEを設定するように言われましたが? (FAQ) 2007.07.30
serial型の次に挿入すべき値を変更するにはどうしますか? (FAQ) 2007.06.01
次のSERIAL型で用いられる値を得るにはどうしますか? (FAQ) 2007.05.31
WindowsXPを入れた端末にPINGが通りませんが? (FAQ) 2007.05.21
vmware3上でWindowsXPを導入すると途中で待たされ、失敗しますが? (FAQ) 2007.05.19
vmware3のインストールがうまくいきませんが? (FAQ) 2007.05.18
gnome上で解像度の変更ができないのですが? (FAQ) 2007.05.17
gnome上で解像度の変更をするにはどうしますか? (FAQ) 2007.05.17

よくある質問
ご利用の皆様から多く寄せられる質問にお答えしています。
ディーエーオフィス
サーバ
アプリケーション

語解説
ディーエーオフィスなどが利用する用語に関する解説を行います。

ディーエーオフィスホームページ
メッセージセンター
ディーエーオフィスサポートターミナル
トピックスセンター
リレーショナルナレッジベース
lfTree
 lfTreeは、木構造に関する表示に必要なデータを取得するためのpl/pgsqlストアドプロージャを使ったfunctionです。

---

$1・・・処理を行うID番号。sql上で扱うデータをそのまま渡す。
$2・・・テーブル名。
$3・・・実行コマンド名。
$4・・・当該ソース名。

※ID番号とは、lfアプリケーション上で採用している共通の考え方で、個別の登録番号のことを指します。

---

実行コマンド別の解説

■group

SELECT id,pid,lfTree(id,'table_name','group','') FROM table_name;

例) 10 | 8 | 2,6,7,8,10

 指定されたIDを含む番号配下にある、すべてのカテゴリを算出します。木構造の根本となる番号を指定します。このとき、0番はこのコマンドの性格上、含まれませんが、これはコードが汚染されていないことが前提となります。値は、1つ以上、複数の値がコンマで区切られて返されます。例では、8をpidに持った10というid番号のgroupを算出しています。2が親記事となり、6,7,8,10という子記事があることになります。

■topicid

SELECT id,pid,lfTree(id,'table_name','topicid','') FROM table_name;

例) 10 | 8 | 2

 指定されたIDの親IDを求め、最終的な木構造であるID番号0の直前となる番号を求めます。掲示板などの書き込みを扱うとき、pidが0番と指定されているものが、主な書き込みとして扱うのが適切ですが、孫記事やさらにその配下となる記事中ではそういったトピックスの先頭となりえる番号が分かりません。このため、親IDを追っていくことで記事の先頭のIDが算出できます。値は、先頭となる番号は必ず1つですので、1つで返されます。例では、10番の記事の先頭となる書き込みが2番であることを示しています。

■dir

SELECT id,pid,lfTree(id,'table_name','dir','') FROM table_name;

例) 10 | 8 | 0,2,6,10

 木構造を持った記事へのリンク生成を行う際に、当該のID番号がID0番からどのように関係しているかを表示します。値は階層数に応じて、1つ以上の番号を返します。例では、あらゆる記事の先頭となる0番から順に、2番、6番、10番と階層構造を持っていることを示しています。区切りは、「,」を使用しており、そのままSQLに使うことを意識しています。

■dirname

SELECT id,pid,lfTree(id,'table_name','dirname','name') FROM table_name;

例) 10 | 8 | HOME > 大項目 > 中項目 > 小項目

 基本的な考え方はdirと変わりありませんが、番号ではなくフィールド名が返される点が異なります。文字列として見たときにそのまま扱えるように、いわゆるパンくずリストのように表示します。「 > 」で区切っているので、そのままsplitやexplodeにかけることも意識しています。このとき、項目名として引き出すものを$4に指定します。

■dirhtml

SELECT id,pid,lfTree(id,'table_name','dirhtml','name') FROM table_name;

例) 10 | 8 | HOME > 大項目 > 中項目 > 小項目
※上はHTMLを省略していますが、Aタグが含まれます。

 基本的な考え方はdirと変わりありませんが、ロジックファクトリーの標準的なHTMLが出力されます。ほとんどの場合、category値が必要となる場面なので、リンク先には「./?category=番号」のような指定が入ります。文字列として見たときにそのまま扱えるように、いわゆるパンくずリストのように表示します。「 > 」で区切っているので、そのままsplitやexplodeにかけることも意識しています。このとき、項目名として引き出すものを$4に指定します。

■depth

SELECT id,pid,lfTree(id,'table_name','depth','') FROM table_name WHERE state!=0;

例) 10 | 8 | 3

 階層構造を何階層持っているのかを取り出せます。例えば、ID0番の直下にあるID1番があるときは、1段上ということで2階層のため1を返します。上の例では、4階層を持つことになり3を返します。

※state=0のような値を含めると、その値が求めることができず、異なる値が返ってくることがあります。通常のコード上でそのような汚染されたコーディングは行わないので、このfunctionでそういったことを考慮することはありません。


文書番号 02124
日付 2004.10.02
参照数 292

ドキュメントセンター
  はじめに 新着ドキュメント 使用条件 著作権 お問い合せ
Copyright 2003 daoffice design and management company. all rights reserved.