3

私はそれについて多くのことを検索しましたが、これまでのところ答えがありませんでした。問題は次のとおり
です。適切なデータを取得するために CDbCriteria オブジェクトを作成しています。

$criteria = new CDbCriteria;
$criteria->compare('id_post', $arrayContents);

ここ$arrayContentsで、次の要素で構成される配列です。

Array ( [0] => 10 [1] => 16 [2] => 14 [3] => 15 )

これらは、id_postsdataProvider を使用して提示したいものですが、その特定の順序でのみです。さらに、この方法で 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

4

1 に答える 1