我已经对此进行了很多搜索,但到目前为止还没有得到答案。这是问题所在:
我正在创建 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,所以只是向后,所以不是我想要的,因为我想按顺序显示它:10、16、14、15,就像$arrayContents
.