dataprovider
, dans Yii2
a un support pour la pagination. Supposons, votre service reçoit est params avec le code suivant:
$params = Yii::$app->getRequest()->post();
Vous pouvez inclure le paramètre page
dans la demande, puis faire un petit hack (: P), comme:
if (isset($params ['page'])) {
$_GET['page'] = (int) $params ['page'];
if ($_GET['page'] < 1) {
$_GET['page'] = 1;
}
}
Une fois que vous Pour ce faire, votre dataprovider
attribue automatiquement la valeur $_GET
à son ensemble de résultats. Un exemple de dataprovider:
$dataProvider = new ActiveDataProvider([
'query' => Users::find(),
'pagination' => array('pageSize' => 10),
]);
Ou, dans votre cas:
$dataProvider = new ArrayDataProvider([
'allModels' => $query->from('post')->all(),
'sort' => [
'attributes' => ['id', 'username', 'email'],
],
'pagination' => [
'pageSize' => 10,
],
]);
Pour obtenir les modèles, vous pouvez utiliser la méthode getModels()
de dataprovider
comme suit:
$models = $dataProvider->getModels();
Laissez-moi savoir si cela résout votre problème.
Vous pouvez utiliser 'ActiveDataProvider' ou' SqlDataProvider' ... –
Comment puis-je passer l'appel api reste dans ActiveDataProvier question param .. S'il vous plaît est-il un échantillon – sas