[yii2] Cara Mengubah Filter GridView dari GET ke POST

Pada yii1, CGridView, secara default jika kita melakukaan filter dari data menggunakan metode POST untuk request datanya.

Sedangkan pada yii2, default dari filter GridView menggunakan metode GET. Beberapa pengguna mungkin merasa tidak nyaman dengan metode GET karena berbagai macam alasan.

Untuk mengubah GridView pada yii2 dari metode GET menjadi POST, Anda bisa mencobanya seperti contoh berikut ini.

1. View

Pada file view tambahkan widget Pjax sebelum dan sesudah grid seperti ini.

	..............
	..............
	..............
	
    <?php \yii\widgets\Pjax::begin(['id' => 'some-id-you-like',

        'timeout' => false,

        'enablePushState' => false,

        'clientOptions' => ['method' => 'POST']]); 
		
	?>

    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ..............
			..............
            ..............
        ],
    ]); 
	?>

    <?php 
	
	\yii\widgets\Pjax::end(); 
	
	?>

	..............
	..............
	..............

2. Controller 

Pada controller ganti

$dataProvider = $searchModel->search(Yii::$app->request->queryParams);

dengan

$dataProvider = $searchModel->search(Yii::$app->request->post());

Cukup mudah bukan???? Selamat mencoba…..

Artikel Terbaru