[英]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.