vid是什么意思


12

我设计了一个视图,并在预览部分看到了此查询:

SELECT node.nid AS nid, 
       node_data_field_crm_history_brokerid.field_crm_history_brokerid_value AS node_data_field_crm_history_brokerid_field_crm_history_brokerid_value, 
       node.language AS node_language, 
       node.type AS node_type, 
       node.vid AS node_vid, 
       node_data_field_crm_history_brokerid.field_crm_history_caseid_value AS node_data_field_crm_history_brokerid_field_crm_history_caseid_value, 
       node_data_field_crm_history_brokerid.field_crm_history_dateadded_value AS node_data_field_crm_history_brokerid_field_crm_history_dateadded_value, 
       node_data_field_crm_history_brokerid.field_crm_history_entrydesc_value AS node_data_field_crm_history_brokerid_field_crm_history_entrydesc_value 
FROM node node 
LEFT JOIN content_type_crm_history node_data_field_crm_history_brokerid ON node.vid = node_data_field_crm_history_brokerid.vid 
WHERE node.type in ('crm_history')

vid是什么意思?

实际上,我需要这样做,因为当我尝试使用以下查询尝试在crm_history中插入一条简单规则来插入一行时:

$result = db_query("INSERT INTO {content_type_crm_history} (vid, nid, field_crm_history_caseid_value, field_crm_history_brokerid_value, field_crm_history_dateadded_value, field_crm_history_entrydesc_value) VALUES (" . $node->nid . ", " . $node->vid . ", " . $caseid . ", " . $brokerid . ", " . $dateadded . ", '" . t($entrydesc) . "')");

它确实填充了数据库表,但未在视图中显示。当我通过创建内容页面添加时,它仅显示视图。

Answers:


24

不幸的是,vid可能意味着多种含义。那不是理想的,但是我没有看到它引起问题(除了时不时的轻微混乱)。

在节点的上下文中,它表示“版本ID”。对于节点表中的每个节点,Drupal可以在node_revisions表中保存多个版本。版本ID是node_revisions表中的唯一标识符。(这是您在查询中看到的vid。)

在分类法中,vid表示“词汇ID”。词汇是相关术语的集合。每个词汇表都有一个唯一的ID。

在“视图”模块的上下文中,vid表示“视图ID”。

另外,您不应使用自定义查询将节点添加到数据库中。更好的方法是创建一个节点对象,然后让drupal将其写入数据库node_save()


5

在Drupal 节点对象参考页面上,node-> vid是该节点当前版本的修订版ID。

节点内容不是直接存储在节点表中,而是存储在node_revisions表中。本页上的表结构有很好的解释。


2

vid是修订版ID。在Drupal中,每个节点可以有多个修订版本。如果您不使用修订版,则nid(节点ID)将等于vid


但是,当不使用修订版时,不要指望总是等于vid的nid!
格雷格,2010年

可查询的任何一个给予例子来到内容中插入数据,这样我就可以看到展示的内容..急人

@rakeshakurathi-查看Node Clone的源代码。它要做的几件事之一就是插入新节点,因此应该很容易在其源代码中找到相关的代码。drupal.org/project/node_clone
Greg 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.