如何从drupal 7中选择查询

Posted

技术标签:

【中文标题】如何从drupal 7中选择查询【英文标题】:how to select query from drupal 7 【发布时间】:2014-04-11 15:40:46 【问题描述】:

我在 drupal 6 上有这个查询

$catq=' ( SELECT term_node.nid as node_id FROM term_node WHERE tid='.$catint.') as cat, '

我已经这样升级了

$query=db_select('term_node');
                    ->addfield('term_node', 'nid', 'node');
                    ->field('term_node', 'node' ); 
                    ->condition('term_node.tid', = , $catint);
                $cat=$query->addfield($query, 'cat');

错了吗?

【问题讨论】:

你为什么不运行它并找出答案? 对不起,我不能运行它。 【参考方案1】:

你做错了。 查询的正确语法 - 保留您的数据将是:

$query = db_select('term_node', 't')
            ->fields('t')
            ->condition('term_node.tid', $catint, '=')
            ->execute();
          $logo = $query->fetchAll();

但是在drupal 7中没有表term_node,可能你需要'taxonomy_index'。

【讨论】:

但是使用 field('t') 我选择了表的所有字段,我只需要 term_node.nid,并设置所有查询的别名?我有这张表是因为我们开发了一个新的数据库 =) P.S.感谢帮助! =) P.P.S.是递归的,我记得 $catq 在文件中的另一个查询中

以上是关于如何从drupal 7中选择查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在drupal 7中根据分类术语搜索用户列表?

如何从 Drupal 7 向 Drupal 8 贡献一个模块

Drupal 7 - 暴露过滤器 - 全文搜索

在 Drupal 7 中使用表单

将 SQL 查询转换为 Drupal 7 PHP 规则

如何在 drupal 7 中从前端添加内容类型