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 อาจหมายถึงหลายสิ่ง ไม่เหมาะ แต่ฉันไม่เคยเห็นมันทำให้เกิดปัญหา (นอกเหนือจากความสับสนเล็กน้อยแล้วตอนนี้)

ในบริบทของโหนดมันหมายถึง 'version id' สำหรับทุกโหนดในตารางโหนด Drupal สามารถบันทึกได้หลายรุ่นในตาราง node_revisions เวอร์ชัน id เป็นตัวระบุเฉพาะในตาราง node_revisions (นี่คือวิดีโอที่คุณเห็นในการค้นหา)

ในบริบทของอนุกรมวิธานนั้น vid หมายถึง 'รหัสคำศัพท์' คำศัพท์คือชุดคำศัพท์ที่เกี่ยวข้อง คำศัพท์ทุกคำมีรหัสเฉพาะ

ในบริบทของโมดูล Views, vid หมายถึง 'view id'

ในบันทึกอื่นคุณไม่ควรเพิ่มโหนดในฐานข้อมูลด้วยแบบสอบถามแบบกำหนดเอง วิธีการที่ดีคือการสร้างวัตถุโหนดและให้ Drupal node_save()เขียนไปยังฐานข้อมูลโดยใช้


5

จากหน้าการอ้างอิงอ็อบเจ็กต์โหนด Drupal , node-> vid เป็นรหัสการแก้ไขของเวอร์ชันปัจจุบันของโหนด

เนื้อหาโหนดจะไม่ถูกจัดเก็บโดยตรงในตารางโหนด แต่ในตาราง node_revisions มีคำอธิบายที่ดีเกี่ยวกับโครงสร้างของตารางในหน้านี้


2

vidคือรหัสการแก้ไข ใน Drupal ทุกโหนดสามารถมีได้หลายครั้ง หากคุณไม่ได้ใช้การแก้ไขแล้วnid(โหนด ID) vidจะเท่ากับ


แต่เมื่อไม่ได้ใช้การแก้ไขอย่าพึ่ง nid เสมอเท่ากับ vid!
เกร็ก

คนใดคนหนึ่งสามารถให้ตัวอย่างของแบบสอบถามเพื่อแทรกข้อมูลลงในเนื้อหาเพื่อให้ฉันสามารถดูเนื้อหาในมุมมอง .. คนเร่งด่วน

@rakeshakurathi - ดูซอร์สโค้ดสำหรับ Node Clone หนึ่งในสองสามสิ่งนี้คือการแทรกโหนดใหม่ดังนั้นจึงควรค้นหารหัสที่เกี่ยวข้องในแหล่งที่มาได้ง่าย drupal.org/project/node_clone
Greg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.