簡體   English   中英

Drupal 8 SQL語句,避免addOrderBy在SELECT中添加一些字段

[英]Drupal 8 SQL statement, avoiding addOrderBy adding some fields in SELECT

我在針對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”嗎?

好吧,事實證明,Drupal無法在不添加字段的情況下也不能在ORDER BY語句中添加公式(出於安全原因: https : //www.drupal.org/node/829464

如果排序不涉及公式,則$ this-> query-> orderby將可以工作,而無需在SELECT語句中添加字段,但是使用公式,不可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM