問題タブ [cactivedataprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
69 参照

mysql - SQL ソート: ブロックを DESC で並べ替える - ただし、各ブロックはそれ自体で ASC でソートされます

メッセージとその発行日を含む SQL テーブルがあります。

これらのメッセージを M1、M2、... M99 と呼びましょう。M1 が最新のメッセージです。

whatsapp の方法でそれらを表示したい (私は Yii 1.1 フレームワークを使用しています): 最新のメッセージ M1 は一番下にあり、その上には 2 番目に新しい M2 メッセージなどがあります。

しかし、固定数のメッセージ (5 としましょう) のブロックごとに表示したいので、要求があれば前のメッセージをロードします。したがって、ページをロードすると、次のように表示されます。

(さらに読み込むボタン)

M5

M4

M3

M2

M1

[さらに読み込む] ボタンを 1 回クリックすると、上から下に次のようになります。

(さらにボタンをロード)/M10/M9/M8/M7/M6/M5/M4/M3/M2/M1

Yii で ActiveDataProvider を使用してこれを達成しようとしていますが、そのためには、次のようにデータを並べ替える必要があります。

M5、M4、M3、M2、M1、M10、M9、M8、M7、M6、M15、M14、M13、M12、M11など

limit と offset を使用しても、そのような並べ替えを行う方法がわかりません。

誰かがこれについて私を助けてくれたら嬉しいです、ありがとう!

編集:これが私が使用しているActiveDataProviderです

そして私の見解では

0 投票する
0 に答える
22 参照

php - CActiveDataProvider を使用して暗号化されたデータベース フィールドをソートする方法

患者の名と姓は、base_64 エンコーディングを使用してデータベースに保存されました。first_name を使用してソートされた順序で患者を取得するにはどうすればよいでしょうか? ソートは元の値に適用する必要があります。CActiveDataProvider からのプロビジョニングはありますか? すべてのレコードをループしたり、患者を復号化して並べ替えたりしたくありません。