Que signifie vid


12

J'ai conçu une vue et je vois cette requête dans la section d'aperçu:

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

Que veut viddire ici?

En fait, j'en ai besoin parce que lorsque j'essaie d'insérer une règle simple pour insérer une ligne dans crm_history à l'aide de cette requête:

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

Il remplit la table de base de données mais ne s'affiche pas dans la vue. Il affiche uniquement la vue lorsque j'ajoute via la page de création de contenu.

Réponses:


24

Malheureusement, vid peut signifier plusieurs choses. Ce n'est pas idéal, mais je ne l'ai pas vu causer de problèmes (autre qu'une légère confusion de temps en temps).

Dans le contexte des nœuds, cela signifie 'id de version'. Pour chaque nœud de la table de nœuds, Drupal peut enregistrer plusieurs versions dans la table node_revisions. L'ID de version est l'identifiant unique dans la table node_revisions. (Ceci est la vidéo que vous voyez dans votre requête.)

Dans le contexte de la taxonomie, vid signifie «id de vocabulaire». Un vocabulaire est une collection de termes connexes. Chaque vocabulaire a un identifiant unique.

Dans le contexte du module Vues, ​​vid signifie 'id de vue'.

Sur une note différente, vous ne devez pas ajouter de nœuds à la base de données avec des requêtes personnalisées. La meilleure méthode consiste à créer un objet nœud et à laisser Drupal l'écrire dans la base de données en utilisant node_save().


5

À partir de la page de référence de l'objet nœud Drupal , node-> vid est l'ID de révision de la version actuelle du nœud.

Le contenu du nœud n'est pas stocké directement dans la table des nœuds mais dans la table node_revisions. Il y a une bonne explication des structures de table sur cette page .


2

videst l'ID de révision. Dans Drupal, chaque nœud peut avoir plusieurs révisions. Si vous n'utilisez pas de révisions, l' nidID de nœud sera égal à vid.


Mais, lorsque vous n'utilisez pas de révisions, ne comptez pas sur nid égalant toujours vid!
Greg

quelqu'un peut-il donner des exemples de requête pour insérer des données dans le contenu afin que je puisse voir le contenu dans la vue .. gars urgents

@rakeshakurathi - Regardez le code source de Node Clone. L'une des rares choses qu'il fait est d'insérer de nouveaux nœuds, il devrait donc être facile de localiser le code correspondant dans sa source. drupal.org/project/node_clone
Greg
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.