2014-10-16 66 views
0

文檔:https://docs.bolt.cm/content-fetching#ordering-results擷取內容爲了通過多列

我想取一組記錄,並責令其將基於兩個字段。我已經創建瞭如下要求做:

{% setcontent records = 'artists' where { gender: 'Male' } orderby 'surname, title ASC' %} 

此使用bolt.db作爲數據庫時工作正常,但在MySQL沒有。我感覺我之前做過類似的事情,所以我想知道它是否與版本更改有關。該實現使用v1.6.5

回答

0

好的我已經得到了這個快速修復工作。

我所做的是對Storage.php文件稍做修改。

private function getEscapedSortorder($name, $prefix = 'r') 
{ 
    // HACK: multiple sort columns 
    if (strpos($name, ',') !== FALSE) { 
     return $name; 
    } 
    // END HACK: multiple sort columns 

    list ($name, $asc) = $this->getSortOrder($name); 

    ... 

在我CONTENTTYPES我現在可以定義sort: surname, title,它會自動做ASC順序,或者我可以做sort: surname DESC, title ASC或任何SQL將允許真的。

這很容易被修改,以處理-surname, -title

0

我沒有測試這一點,但對MySQL常用的語法是:

order surname ASC, title ASC 

嘗試調整的排序依據的字符串是相同的格式,看看是否能完成這項工作。

+0

沒有好,您的建議,雖然喝彩。 – diggersworld 2014-10-16 19:42:37