Query DataTable
Initialization
Dengan Helper (Direkomendasikan)
datatables('table');
Dengan Class Name
<?php
use Irsyadulibad\DataTables\DataTables;
DataTables::use('table');
?>
Penggunaan
Select Table
Pilih tabel yang ingin anda gunakan
DataTables::use('table')
Set Output
Parameter default adalah false
yang otomatis akan mengembalikan data dalam notasi JSON. Anda dapat mengembalikan dump data dengan menempatkan true
sebagai parameter.
DataTables::use('table')
->make(true);
Select Fields
Memilih kolom spesifik pada tabel
->select('username, password')
Where Clause
->where(['role' => 'user', 'active' => 1])
orWhere Clause
->orWhere(['role' => 'user', 'active' => 0])
Join Clause
// <table>, <condition>, <type>
->join('address', 'users.id = address.uid', 'INNER JOIN')
Column editing
Anda dapat mengganti struktur kolom
Add Column
Menambah kolom yang tidak terdapat pada tabel
// <name>, <callback>
->addColumn('action', function($data) {
return '<a href="/edit/'.$data->id.'">edit</a>';
})
Edit Column
// <name>, <callback>
->editColumn('created_at', function($value) {
return format($value);
})
// atau dengan argumen data pada parameter kedua
->editColumn('color', function($value, $data) {
return "$value {$data->type}";
})
Raw Columns
Secara default, semua data yang dikeluarkan akan diescape terlebih dahulu. Hal itu untuk mencegah serangan XSS. Tetapi anda tetap dapat melewatkannya dengan method berikut
->rawColumns(['bio'])
Hide Columns
Menghilangkan kolom dari output JSON
->hideColumns(['password'])
Index Column
Dalam beberapa kasus, anda mungkin perlu menampilkan index kolom dari data yang anda tampilkan, seperti untuk memberikan nomor dll. Fungsi ini akan menambahkan sebuah kolom baru bernama DT_RowIndex
secara default.
->addIndexColumn()
// dengan nama kustom
->addIndexColumn('CustomRowIndex')