Apa arti vid

12

Saya telah merancang tampilan dan saya melihat permintaan ini di bagian pratinjau:

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')

Apa yang dimaksud di vidsini?

Sebenarnya saya memerlukan ini karena ketika saya mencoba menyisipkan aturan sederhana untuk menyisipkan baris di crm_history menggunakan kueri ini:

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

Itu mengisi tabel database tetapi tidak muncul dalam tampilan. Itu hanya menampilkan tampilan ketika saya menambahkan melalui halaman buat konten.

Doelleri
sumber

Jawaban:

24

Sayangnya, vid bisa berarti banyak hal. Itu tidak ideal, tetapi saya belum melihatnya menyebabkan masalah (selain kebingungan ringan sekarang dan kemudian).

Dalam konteks node, ini berarti 'versi id'. Untuk setiap node di tabel node, Drupal dapat menyimpan beberapa versi di tabel node_revisions. Id versi adalah pengidentifikasi unik di tabel node_revisions. (Ini adalah video yang Anda lihat dalam permintaan Anda.)

Dalam konteks taksonomi, vid berarti 'id kosakata'. Kosakata adalah kumpulan istilah terkait. Setiap kosakata memiliki id unik.

Dalam konteks modul Views, vid berarti 'view id'.

Pada catatan yang berbeda, Anda tidak boleh menambahkan node ke database dengan permintaan kustom. Metode yang lebih baik adalah membuat objek node dan biarkan drupal menulisnya ke database menggunakan node_save().

marcvangend
sumber
5

Dari halaman referensi objek simpul Drupal , simpul-> vid adalah id revisi dari versi node saat ini.

Konten node tidak disimpan secara langsung di tabel node tetapi di tabel node_revisions. Ada penjelasan yang baik tentang struktur tabel di halaman ini .

alxp
sumber
2

vidadalah id revisi. Dalam Drupal, setiap node dapat memiliki beberapa revisi. Jika Anda tidak menggunakan revisi, maka nid(simpul ID) akan sama dengan vid.

Greg
sumber
Tapi, ketika tidak menggunakan revisi, jangan mengandalkan nid selalu menyamai vid!
Greg
@rakeshakurathi - Lihatlah kode sumber untuk Node Clone. Salah satu dari beberapa hal yang dilakukannya adalah menyisipkan node baru, jadi seharusnya mudah untuk menemukan kode yang relevan di sumbernya. drupal.org/project/node_clone
Greg