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) . "')");

데이터베이스 테이블을 채우지 만 뷰에는 표시되지 않습니다. 컨텐츠 작성 페이지를 통해 추가 할 때보기 만 표시됩니다.

답변:


24

불행히도, vid는 여러 가지를 의미 할 수 있습니다. 그것은 이상적이지는 않지만 문제를 일으키는 것을 보지 못했습니다 (현재와는 약간의 혼란).

노드와 관련하여 '버전 ID'를 의미합니다. 노드 테이블의 모든 노드에 대해 Drupal은 node_revisions 테이블에 여러 버전을 저장할 수 있습니다. 버전 ID는 node_revisions 테이블의 고유 식별자입니다. (이것은 당신이 당신의 쿼리에서 볼 수있는 비디오입니다.)

분류의 맥락에서 vid는 '어휘 ID'를 의미합니다. 어휘는 관련 용어 모음입니다. 모든 어휘에는 고유 한 ID가 있습니다.

Views 모듈의 맥락에서 vid는 'view id'를 의미합니다.

다른 말로, 사용자 정의 쿼리를 사용하여 데이터베이스에 노드를 추가해서는 안됩니다. 더 나은 방법은 노드 객체를 생성하고 drupal이를 사용하여 데이터베이스에 쓰도록하는 것 node_save()입니다.


5

Drupal 노드 오브젝트 참조 페이지에서 node-> vid는 현재 노드 버전의 개정 ID입니다.

노드 내용은 노드 테이블에 직접 저장되지 않고 node_revisions 테이블에 저장됩니다. 이 페이지 의 테이블 구조에 대한 좋은 설명 있습니다.


2

vid개정 ID입니다. Drupal에서 모든 노드는 여러 개정판을 가질 수 있습니다. 개정판을 사용하지 않는 경우 nid(노드 ID)는와 같습니다 vid.


그러나 개정판을 사용하지 않을 때는 항상 vid와 동일한 nid를 사용하지 마십시오!
Greg

보기에 내용을 볼 수 있도록 내용에 데이터를 삽입하는 쿼리 예제를 제공 할 수 있습니다. 긴급한 남자

@rakeshakurathi-Node Clone의 소스 코드를보십시오. 몇 가지 작업 중 하나는 새 노드를 삽입하는 것이므로 소스에서 관련 코드를 쉽게 찾을 수 있어야합니다. drupal.org/project/node_clone
Greg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.