mysql - 如何在drupal 7 db_select查询中编写自定义orderby?

标签 mysql drupal drupal-7

以下查询的等效 db_select 查询是什么,

$nids = array(5, 3, 1, 4, 2);

$sql = "SELECT
          nid, title, FIELD(nid, :nids) sortkey
          FROM
            {node}
          WHERE
            nid IN (:nids)
            AND type = :type
            AND status = 1
          ORDER BY sortkey";

$result_nid = db_query($sql, array(':nids' => $nids, ':type' => 'article'))
                ->fetchAll();

最佳答案

这是我从 drupal.org 获取的高级查询。

你应该很容易适应

$query = db_select('node', 'n');

$query->join('users', 'u', 'n.uid = u.uid'); //JOIN node with users

$query->groupBy('u.uid');//GROUP BY user ID

$query->fields('n',array('title','created'))//SELECT the fields from node
->fields('u',array('name'))//SELECT the fields from user
->orderBy('created', 'DESC')//ORDER BY created
->range(0,2);//LIMIT to 2 records

$result = $query->execute();

希望对你有帮助

公关

关于mysql - 如何在drupal 7 db_select查询中编写自定义orderby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13460548/

相关文章:

drupal - 应用 "text-decoration: none"时链接文本仍然带有下划线

CSS 不适用于我在本地主机上的 DRUPAL 7 站点

php - 如何在新文件中插入mysql数据库?

php - 如何解决这个模棱两可的问题?

drupal - Drupal 中表的节点引用

php - 如何去除 Field Group 模块标签长度限制?

php - 用php向mysql插入不同的日期格式

php - 在外部 php 文件 Joomla 中包含 Jfactory 类

php - 如何在注册时自动分配自定义角色?

javascript - 如何在 Drupal 中使用 javascript 从节点页面更新节点?