yii2 – Membuat sorting
June 21, 2017 atrama-studio 0 Comments
Sorting adalah suatu cara untuk mengurutkan data berdasarkan kondisi tertentu, misal kita mengurutkan data berdasarkan harga (menaik atau menurun), dll. Dengan yii2 kita dapat dengan mudah membuat sorting dengan relasi antar tabel ataupun tidak. Langsung saja lanjut ke tutorial :
Langkah pertama buka file controller yang akan menampilkan sorting-nya, misal kita akan membuat sorting di actionIndex() seperti berikut
Sekian tutorial cara membuat sorting di yii2 framework 😀
June 21, 2017 atrama-studio 0 Comments
Sorting adalah suatu cara untuk mengurutkan data berdasarkan kondisi tertentu, misal kita mengurutkan data berdasarkan harga (menaik atau menurun), dll. Dengan yii2 kita dapat dengan mudah membuat sorting dengan relasi antar tabel ataupun tidak. Langsung saja lanjut ke tutorial :
Langkah pertama buka file controller yang akan menampilkan sorting-nya, misal kita akan membuat sorting di actionIndex() seperti berikut
public function actionIndex()
{
// PAGINATION
$query = Item::find();
// SORTING
$query->joinWith(['category']); //fungsi ini digunakan untuk membuat sorting yang menggunakan relasi antara item dan category
$sort = new \yii\data\Sort([
'attributes' => [
'category' =>[
'asc' => ['item_category.name' => SORT_ASC],
'desc' => ['item_category.name' => SORT_DESC],
'label' => 'Category',
],
'name' =>[
'asc' => ['name' => SORT_ASC],
'desc' => ['name' => SORT_DESC],
'label' => 'Name',
],
'price' =>[
'asc' => ['price' => SORT_ASC],
'desc' => ['price' => SORT_DESC],
'label' => 'Price',
]
]
]);
// QUERY
$models = $query
->orderBy($sort->orders)
->all();
return $this->render('index', [
'models' => $models,
'sort' => $sort,
]);
}
Langkah kedua tampilkan tombol sortingnya pada halaman index<?php
echo "<b>SORT BY : </b>".$sort->link('category') .' '. $sort->link('name') .' '. $sort->link('price');
?>
Sekian tutorial cara membuat sorting di yii2 framework 😀
Post a Comment