Skip to main content
Version: Next

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')