0

ユーザーが選択メニューからオプションを選択してデータベースに保存できる単純なフォームがあります。ビューが使用できるように、フルネームを保存する必要があります。したがって、私のデータベースのテーブルは次のようになります。

nid | uid | type
------------------
1   | 2   | 0
2   | 2   | 3
1   | 3   | 5
3   | 1   | 4

など...次のような基本的な1対多の関係テーブルを作成することを考えていました:

tid | name
----------
0   | random name 1
1   | random name 2
2   | random name 3
3   | random name 4

しかし、私はせいぜい6〜7種類しか持っていないので、それが効率的かどうかはわかりません。その場合、IDの代わりにフルネームを保存するだけの方が良いでしょうか? 別の方法として variable_get を使用することもできますが、ビューで PHP コードを使用できるようにするカスタム フィールド モジュールも必要です。Drupalでそれを行うより良い方法はありますか? ありがとう。

4

2 に答える 2

1

これを行うには、用語を分類法に入れ、その分類法をCCKノードタイプで使用します。本文ラベルをクリアして本文フィールドをオフにし、autonodetitleでタイトルフィールドをオフにします。これにより、そのタイプのノード追加フォームは分類用語の選択リストとして残り、保存されたすべてのノードはビューに公開され、ユーザーや用語でフィルタリングできます。

これにより、説明したものとよく似たデータベースが得られますが、Drupalがすべてをキャッシュするため、気付かないような余分なオーバーヘッドが発生します。

于 2010-01-22T01:08:48.417 に答える
0

「しばらくすると」サポートが少なくて済むので、それは良いことです...そして、パフォーマンスは、フィールドに保管するよりもそれほど違いはないと思います。また、文字列は小さなテーブルにのみ保存され、参照番号はそれほど多くの場所を必要としないため、メモリを節約できます...

于 2010-01-22T04:18:55.820 に答える