2014-10-16 31 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