0

我在 Views 和 Drupal 8 的自定义排序插件中有以下行:

$formula = '(cas.tier IS NULL)';
$this->query->addOrderBy(NULL, $formula, "ASC", "some_alias");

我想要的只是让 Drupal 将其添加到现有查询中:

ORDER BY (cas.tier IS NULL) ASC

但是,这就是它的作用:

SELECT DISTINCT cas.tier AS some_alias
...
ORDER BY some_alias ASC

因此,它在 SELECT 语句中添加了一个字段选择。虽然它适用于排序,但它在我正在尝试做的事情中引入了所有其他问题。

知道如何让它简单地添加“ORDER”语句而不弄乱“SELECT”吗?

4

1 回答 1

0

好吧,事实证明 Drupal 不能在 ORDER BY 语句中添加公式而不添加字段(出于安全原因:https ://www.drupal.org/node/829464 )

如果排序不涉及公式,则 $this->query->orderby 将在 SELECT 语句中不添加字段的情况下工作,但使用公式,不不。

于 2018-05-05T00:51:53.173 回答