私はそれについて多くのことを検索しましたが、これまでのところ答えがありませんでした。問題は次のとおり
です。適切なデータを取得するために CDbCriteria オブジェクトを作成しています。
$criteria = new CDbCriteria;
$criteria->compare('id_post', $arrayContents);
ここ$arrayContents
で、次の要素で構成される配列です。
Array ( [0] => 10 [1] => 16 [2] => 14 [3] => 15 )
これらは、id_posts
dataProvider を使用して提示したいものですが、その特定の順序でのみです。さらに、この方法で dataProvider を作成します。
$dataProviderPosts = new CActiveDataProvider('Posts',array(
'criteria' => $criteria,
'pagination'=>array(
'pageSize'=>20,
),
));
表示される順番はid_posts
、10、14、15、16 です。私が欲しかったものではありません。
私もそのような dataProvider を作成しようとしました:
$dataProviderPosts = new CActiveDataProvider('Posts',array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>array('id_post'=>$arrayContents),
),
'pagination'=>array(
'pageSize'=>20,
),
));
しかし、それは 16、15、14、10 の順番で表示しただけでした$arrayContents
。