Rumah > Artikel > pembangunan bahagian belakang > Langkah-langkah untuk melaksanakan paging data dan carian menggunakan rangka kerja Yii
Langkah untuk melaksanakan paging data dan carian menggunakan rangka kerja Yii
Pengenalan:
Dalam aplikasi web moden, paging data dan carian adalah fungsi yang sangat biasa. Sebagai rangka kerja PHP yang berkuasa dan mudah digunakan, rangka kerja Yii menyediakan banyak alat dan kaedah yang mudah untuk melaksanakan halaman dan carian data. Artikel ini akan memperkenalkan langkah-langkah untuk melaksanakan halaman dan carian data menggunakan rangka kerja Yii, dan menyediakan contoh kod yang berkaitan. .
'components' => [ ...... 'pagination' => [ 'pageSize' => 10, // 设置每页显示的数据条数 ], ...... ]
use yiidataActiveDataProvider; use appmodelsYourModel; class YourController extends Controller { public function actionIndex() { $dataProvider = new ActiveDataProvider([ 'query' => YourModel::find(), // 替换YourModel为你的模型类名 ]); return $this->render('index', [ 'dataProvider' => $dataProvider, ]); } }
use yiigridGridView; echo GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ 'id', 'name', 'email', // 其他需要显示的字段 // ... ['class' => 'yiigridActionColumn'], ], ]);
Carian data adalah untuk menapis data yang memenuhi syarat berdasarkan kata kunci yang dimasukkan oleh pengguna.
use yiihelpersHtml; use yiiwidgetsActiveForm; $form = ActiveForm::begin([ 'action' => ['index'], 'method' => 'get', ]); echo $form->field($model, 'name'); echo $form->field($model, 'email'); // 其他需要搜索的字段 // ... echo Html::submitButton('搜索', ['class' => 'btn btn-primary']); ActiveForm::end();
public function actionIndex() { $searchModel = new YourSearchModel(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, ]); }
use yiiaseModel; use yiidataActiveDataProvider; use appmodelsYourModel; class YourSearchModel extends YourModel { public function rules() { return [ // 定义规则 ]; } public function search($params) { $query = YourModel::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $this->load($params); if (!$this->validate()) { return $dataProvider; } $query->andFilterWhere(['like', 'name', $this->name]) ->andFilterWhere(['like', 'email', $this->email]); // 其他需要搜索的字段 // ... return $dataProvider; } }
echo GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ 'id', 'name', 'email', // 其他需要显示的字段 // ... ['class' => 'yiigridActionColumn'], ], ]);
Rujukan:
Dokumentasi rangka kerja Yii: https://www.yiiframework.com/doc/guide/2.0/zh-cn
Contoh kod rangka kerja Yii: https://github.com/yiisoft/yii2- app -maju
Atas ialah kandungan terperinci Langkah-langkah untuk melaksanakan paging data dan carian menggunakan rangka kerja Yii. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!