Vid ne anlama geliyor


12

Bir görünüm tasarladım ve önizleme bölümünde bu sorguyu görüyorum:

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

vidBurada ne anlama geliyor?

Aslında ben bu sorguyu kullanarak crm_history bir satır eklemek için basit bir kural eklemek çalıştığımda buna ihtiyacım var:

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

Veritabanı tablosunu doldurur, ancak görünümde gösterilmez. Yalnızca içerik oluştur sayfası aracılığıyla eklediğimde görünümü gösterir.

Yanıtlar:


24

Ne yazık ki, vid birden çok şey anlamına gelebilir. Bu ideal değil, ama sorunlara neden olduğunu görmedim (ara sıra hafif karışıklık dışında).

Düğümler bağlamında, 'sürüm kimliği' anlamına gelir. Düğüm tablosundaki her düğüm için Drupal, düğüm_visyonları tablosuna birden çok sürüm kaydedebilir. Sürüm kimliği, node_revisions tablosundaki benzersiz tanımlayıcıdır. (Bu, sorgunuzda gördüğünüz videodur.)

Taksonomi bağlamında vid, 'kelime kimliği' anlamına gelir. Bir kelime hazinesi, ilgili terimlerin bir koleksiyonudur. Her kelime haznesinin kendine özgü bir kimliği vardır.

Views modülü bağlamında vid, 'view id' anlamına gelir.

Farklı bir notta, özel sorgularla veritabanına düğüm eklememelisiniz. Daha iyi yöntem bir düğüm nesnesi oluşturmak ve drupal'ın bunu kullanarak veritabanına yazmasına izin vermektir node_save().


5

Drupal düğüm nesnesi başvuru sayfasından, düğüm-> vid, düğümün geçerli sürümünün düzeltme kimliğidir.

Düğüm içeriği doğrudan düğüm tablosunda değil, node_revisions tablosunda depolanır. Bu sayfada tablo yapılarının iyi bir açıklaması var .


2

viddüzeltme kimliğidir. Drupal'da her düğümün birden fazla düzeltmesi olabilir. Düzeltmeler kullanmıyorsanız, nid(düğüm kimliği) vid.


Ancak, revizyonları kullanmadığınızda, her zaman vid'e eşit olan nid'e güvenmeyin!
Greg

herhangi bir görünümde içeriği görebilmeniz için içeriğe veri eklemek için sorgu örnekleri verebilir .. acil çocuklar

@rakeshakurathi - Düğüm Klonu için kaynak koduna bakın. Yaptığı birkaç şeyden biri yeni düğümler eklemektir, bu nedenle ilgili kodu kaynağında bulmak kolay olmalıdır. drupal.org/project/node_clone
Greg
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.