CakePHP 2.3.7 を使用しています。ユーザーにコンテンツを表示するために、contents というモデルがあります。コントローラーはこのモデルからデータを取得し、ページネーションを使用してビューに送信します。これまでのところ、すべて正常に動作しています。ここで、非常に具体的な順序でコンテンツを表示したいと思います。私が知っている限りでは、順序は次のとおりであるため、paginate() で「順序」パラメーターを使用することはできません。
- ユーザーごとに個別 (したがって、データベース内のフィールドではありません)
- その場で作成された複雑な計算に基づいて頻繁に変更する
- 現在セッション配列に格納されている
関連するすべてのアイテム ID と、注文での位置を定義する値を含む配列があります。必要なのは、データベースからの並べ替えではなく、配列で定義した順序を使用するようにページ付けを教える方法です。私が持っている配列は次のようなものです。最初の数字は注文の位置で、2 番目の数字はアイテムの ID です。
この特定のアイテムの順序を使用するようにページネーションに指示する方法はありますか?
array(
(int) 0 => '308',
(int) 1 => '311',
(int) 2 => '313',
(int) 3 => '317',
(int) 4 => '325',
(int) 5 => '326',
)