Drupal 7 节点 -->数据库中的字段映射
我试图弄清楚节点如何映射回它们包含的字段以用于学习目的。这是怎么做到的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我试图弄清楚节点如何映射回它们包含的字段以用于学习目的。这是怎么做到的?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
在 Drupal 7 中,您有实体和字段;字段附加到实体。节点是实体的实现(节点模块实现 hook_entity_info() 和其他此类挂钩),因此它可以具有字段。
所有字段/实体关系数据都存储在表
field_data_field_x
和field_revision_field_x
或类似表中(如果启用节点修订,后者可能存储字段数据的修订)。这些表中的
entity_id
列是节点的 ID,bundle
是节点的内容类型。revision_id
是节点的修订 ID,同样只有在启用节点修订时才真正有用。更新
在Drupal术语中,内容类型是
bundle
,bundle
附加到实体(在本例中为节点 实体)。当您创建新的内容类型时,它会存储在
node_type
表中,当清除缓存(这会在所有模块上调用hook_entity_info
)时,node_entity_info()
函数根据内容类型构建捆绑包列表(查看该函数中开始foreach (node_type_get_names( ) 作为 $type => $name) {
,node_type_get_names
获取所有内容类型的列表)。如上所述,字段可以附加到实体,因此字段可以附加到具有
bundle
增量(如果您愿意)的节点。In Drupal 7 you have entities and fields; fields are attached to entities. A node is an implementation of an entity (the node module implements
hook_entity_info()
and other such hooks) so it can have fields.All field/entity relational data is stored in the tables
field_data_field_x
andfield_revision_field_x
or similar (the latter potentially storing revisions of field data if node revisions are enabled).The
entity_id
column in those tables is the node's ID, and thebundle
is the node's content type. Therevision_id
is the revision ID of the node, again only really useful if node revisions are enabled.UPDATE
In Drupal terminology a content type is a
bundle
andbundle
s are attached to entities (in this case thenode
entity). When you create a new content type it gets stored in thenode_type
table, and when the caches are cleared (which invokeshook_entity_info
on all modules) thenode_entity_info()
function builds up a list of bundles from the content types (have a look at the bit in that function that startsforeach (node_type_get_names() as $type => $name) {
,node_type_get_names
gets a list of all content types).As discussed above fields can be attached to entities, so fields can be attached to nodes with a delta (if you like) of
bundle
.在 D7 中,对于我的案例 field_config_instance 表为我提供了所需的信息。
In D7, for my case field_config_instance table provided me the required info.