【问题标题】:sql query for drupal 7 moduledrupal 7模块的sql查询
【发布时间】:2011-08-26 09:23:35
【问题描述】:

我从视图中提取并使用了这个查询。

(它意味着被传递一个节点id,并返回所有具有这个节点id的节点作为节点引用)

function jsonview_node_update($node){
  if ($node->type == "company") {
    $query = "SELECT DISTINCT node.title AS node_title, node.nid AS nid
              FROM {node} node
              LEFT JOIN field_data_field_campaigncompany ON node.nid = field_data_field_campaigncompany.entity_id AND (field_data_field_campaigncompany.entity_type = node AND field_data_field_campaigncompany.deleted = 0)
              WHERE (( (node.status = '1') AND (field_data_field_campaigncompany.field_campaigncompany_nid IN  ('".$node->nid."')) AND (node.type IN  ('campaign')) ))";
    $result = db_query($query);
    file_put_contents('/tmp/ref.txt',json_encode($result));
  }

回来了

PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'node' in 'on clause': SELECT DISTINCT node.title AS node_title, node.nid AS nid FROM {node} node LEFT JOIN field_data_field_campaigncompany ON node.nid = field_data_field_campaigncompany.entity_id AND (field_data_field_campaigncompany.entity_type = node AND field_data_field_campaigncompany.deleted = 0) WHERE (( (node.status = '1') AND (field_data_field_campaigncompany.field_campaigncompany_nid IN ('14')) AND (node.type IN ('campaign')) )); Array ( ) in jsonview_node_update() (line 224 of /jsonview.module).

不知道这里出了什么问题。我已经尝试了关系和其他几个模块,但没有一个能真正做到这一点

【问题讨论】:

    标签: sql drupal drupal-7 drupal-modules


    【解决方案1】:

    (在问题编辑中回答。转换为社区 wiki 答案。参见Question with no answers, but issue solved in the comments (or extended in chat)

    OP 写道:

    已解决:

    function jsonview_node_update($node){
      if ($node->type == "company") {
        $query = "SELECT DISTINCT title, nid
                  FROM {node} node
                  LEFT JOIN field_data_field_campaigncompany ON node.nid = field_data_field_campaigncompany.entity_id AND (field_data_field_campaigncompany.entity_type = 'node' AND field_data_field_campaigncompany.deleted = 0)
                  WHERE (( (node.status = '1') AND (field_data_field_campaigncompany.field_campaigncompany_nid IN  ('".$node->nid."')) AND (node.type IN  ('campaign')) ))";
     //   $query = "SELECT nid, title FROM {node}";
       $result = db_query($query);
      //  $result = db_query("SELECT nid, title FROM {node}");
        foreach ($result as $record) {
           file_put_contents('/tmp/ref.txt',json_encode($record),FILE_APPEND);
      // Do something with each $record
    }
    
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多