我有一个简单的表单,允许用户从选择菜单中选择一个选项,然后将其保存在数据库中。我需要存储全名,以便视图可以使用它。所以我的数据库中的表可能如下所示:
nid | uid | type
------------------
1 | 2 | 0
2 | 2 | 3
1 | 3 | 5
3 | 1 | 4
依旧......我正在考虑做一个基本的一对多关系表,如:
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中做到这一点?感谢。
答案 0 :(得分:1)
我会通过将术语放在分类中并在CCK节点类型中使用该分类来实现此目的。通过清除正文标签关闭正文字段,并使用auto nodetitle关闭标题字段。这使得您的节点为该类型添加表单,只作为分类术语的选择列表,并且所有保存的节点都会暴露给视图并可由用户和/或术语过滤。
这会给你一个看起来很像你所描述的数据库,带来额外的开销,你永远不会注意到因为Drupal缓存了所有内容。
答案 1 :(得分:0)
它更好,因为需要较少的支持“一段时间后”......而且我认为性能不会如此差异,而不是保持在现场。你也节省了内存,因为蜇只存储在小桌子里,引用数字不需要那么多地方......