我有数据提供者通过创建时间获得9个帖子,但我的订单和限制没有工作
$dataProviderlatenew=new ActiveDataProvider([
'query'=>Post::find()->limit(9)->orderBy('create_time DESC'),
'sort' => [
'defaultOrder' => [
'create_time' => SORT_DESC,
],
],
]);
答案 0 :(得分:1)
请记住,如果分页不是false,则会自动管理限制,而不是使用查询中的限制..所以对于订单
$dataProviderlatenew=new ActiveDataProvider([
'query'=>Post::find(),
'pagination' =>['pagesize' =>9],
'sort' => [
'defaultOrder' => [ 'create_time' => SORT_DESC, ],
],
]);
否则设置aproper分页(所以你可以使用limit(9))并且不要在dataProvider中选择和默认顺序强加订单(是无意义的)
例如:
$dataProviderlatenew=new ActiveDataProvider([
'query'=>Post::find()->limit(9),
'pagination' =>false,
'sort' => [
'defaultOrder' => [ 'create_time' => SORT_DESC, ],
],
]);
或
{{1}}
答案 1 :(得分:1)
试试这个:
$dataProviderlatenew=new ActiveDataProvider([
'query'=>Post::find(),
'pagination'=>['pagesize'=>9],
'sort' => [
'defaultOrder' => [ 'create_time' => SORT_DESC],
],
]);
参考:http://www.yiiframework.com/doc-2.0/guide-output-data-providers.html