【问题标题】:Yii2 dataprovider- exclude first 2 elementsYii2 dataprovider - 排除前 2 个元素
【发布时间】:2016-08-29 16:13:51
【问题描述】:

如何排除 dataprovider 中的前 2 个元素并按每 3 个元素获取其他元素?

1  2   3 4 5 6 7 8 9 0 10 12 13 14
x x  |      |     |      |        |

我需要这样的结果

3 4 5
6 7 8
9 0 10
12 13 14

【问题讨论】:

  • 你的问题也不清楚..请解释清楚

标签: yii2 dataprovider


【解决方案1】:

您可以从现有数据提供者中检索所有模型,然后根据需要使用 PHP 过滤项目,然后使用 ArrayDataProvider 从这些项目中创建新的数据提供者。

例如:

// Some prepared data provider
$dataProvider = $searchModel->search(Yii::$app->request->getQueryParams());
$dataProvider->query
    ->orderBy(['created_at' => SORT_DESC]);


// Retrieving all models
$allModels = $dataProvider->getModels();


// Some manipulations with $allModels array
// ...


// Preparing new data provider from modified array of models
$dataProvider            = new ArrayDataProvider();
$dataProvider->allModels = $allModels;
$dataProvider->key       = 'id';
$dataProvider->pagination->setPageSize($maxRows);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多