Cosa significa vid


12

Ho progettato una vista e vedo questa query nella sezione di anteprima:

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

Cosa vidsignifica qui?

In realtà ho bisogno di questo perché quando provo a inserire una semplice regola per inserire una riga in crm_history usando questa query:

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

Popola la tabella del database ma non viene visualizzata nella vista. Mostra solo la vista quando aggiungo tramite la pagina di creazione del contenuto.

Risposte:


24

Sfortunatamente, vid può significare più cose. Non è l'ideale, ma non l'ho visto causare problemi (oltre alla leggera confusione di tanto in tanto).

Nel contesto dei nodi, significa "id versione". Per ogni nodo nella tabella dei nodi, Drupal può salvare più versioni nella tabella node_revisions. L'ID versione è l'identificatore univoco nella tabella node_revisions. (Questo è il video che vedi nella tua query.)

Nel contesto della tassonomia, vid significa "id del vocabolario". Un vocabolario è una raccolta di termini correlati. Ogni vocabolario ha un ID unico.

Nel contesto del modulo Views, vid significa 'view id'.

In un'altra nota, non si dovrebbero aggiungere nodi al database con query personalizzate. Il metodo migliore è creare un oggetto nodo e lasciare che drupal lo scriva nel database usando node_save().


5

Dalla pagina di riferimento dell'oggetto nodo Drupal , node-> vid è l'id di revisione della versione corrente del nodo.

Il contenuto del nodo non viene archiviato direttamente nella tabella dei nodi ma nella tabella node_revisions. C'è una buona spiegazione delle strutture della tabella in questa pagina .


2

vidè l'id di revisione. In Drupal, ogni nodo può avere più revisioni. Se non stai usando le revisioni, allora nid(ID nodo) sarà uguale a vid.


Ma, quando non si usano le revisioni, non contare su nid sempre uguale a vid!
Greg

qualcuno può dare esempi di query per inserire dati nel contenuto in modo che io possa vedere i contenuti nella vista .. ragazzi urgenti

@rakeshakurathi - Guarda il codice sorgente per Node Clone. Una delle poche cose che fa è inserire nuovi nodi, quindi dovrebbe essere facile individuare il codice rilevante nel suo sorgente. drupal.org/project/node_clone
Greg
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.