1

ドキュメント: https://docs.bolt.cm/content-fetching#ordering-results

一連のレコードを取得し、2 つのフィールドに基づいて並べ替えようとしています。そのために、次のリクエストを作成しました。

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

これbolt.dbは、データベースとして使用する場合は正常に機能しますが、MySQL では機能しません。以前も似たようなことをしたような気がするので、バージョンチェンジの影響なのかなぁ。この実装は を使用してv1.6.5います。

4

2 に答える 2

1

OK、簡単な修正でこれが機能しました。

私が行ったことは、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を自動的に実行するもの、実行できるもの、または SQL が実際に許可するものを定義できるようになりました。ASCsort: surname DESC, title ASC

-surname, -titleこれは、ハンドルなどに簡単に変更できます。

于 2014-11-22T11:53:26.743 に答える
-1

私はこれをテストしていませんが、MySQL の通常の構文は次のようになります。

order  surname ASC, title ASC

orderby 文字列を同じ形式になるように微調整してみて、それが機能するかどうかを確認してください。

于 2014-10-16T15:06:37.467 に答える