ci4-datatables
Server Side Datatables Library for CodeIgniter 4 Framework
Deskripsi
Library untuk membuat Server Side Datatables pada CodeIgniter 4 agar menjadi mudah dan singkat
Persyaratan:
- Codeigniter 4.x
- JQuery 3.3 +
- Datatables 1.10.x
Cara Instalasi:
- Letakkan file Datatables.php, (pada folder
app/Libraries/
)
Contoh Sederhana
- PHP
<?php namespace App\Controllers;
use CodeIgniter\Controller;
use App\Libraries\Datatables;
class Example extends Controller{
public function datatables(){
$datatables = new Datatables;
$datatables->table('users')->select('name, address');
// Memproduksi query SELECT name, address FROM users;
echo $datatables->draw();
// Automatically return json
}
}
- Javascript
$('#table').DataTable({
processing: true,
serverSide: true,
ajax:{
url: yourUrl,
type: 'post'
},
columns: [
// This will generate number
{data: null, sortable: false,
render: function(data, type, row, meta){
return meta.row + meta.settings._iDisplayStart + 1;
}
},
{data: 'name', name: 'name'},
{data: 'email', name: 'email'},
// Create action's button
{data: null, sortable: false,
render: function(data, type, row){
return `
<a href="/user/edit/${row.id}">Edit</a>
`;
}
}
]
});
Dokumentasi
- Select Tabel
Memilih table default
$datatables->table('yourTable');
- Get All
Memilih data pada semua kolom untuk ditampilkan $datatables->draw() :
$datatables->draw();
- Select Field
Menampilkan data pada kolom yang dipilih $datatables->select('field1, field2, fieldN') :
$datatables->select('name, address');
- Where Clause
Menampilkan data yang telah ditentukan valuenya pada kolom teretentu $datatables->where(['field' => 'value']) :
$datatables->where(['name' => 'John']);
- Join Clause
Menggabungkan table melalui field dan kondisi yang telah ditentuakn $datatables->join('Table', 'Condition', 'Type[optional]') :
$datatables->join('parents', 'users.id = parents.id_user');
//Anda juga bisa menambahkan type seperti INNER JOIN, LEFT JOIN, dsb
$datatables->join('parents', 'users.id = parents.id_user', 'INNER JOIN');
Catatan
- Anda juga dapat menambahkan clausa AND WHERE dengan menambahkan elemen array:
$datatables->where(['field1' => 'data1', 'field2' => 'data2', 'fieldN' => 'dataN']);
- Anda dapat menambahkan header agar data yang ditampilkan dapat dipastikan tipenya adalah JSON (optional) :
header('Content-Type': 'application/json');
Author's Profile:
Github: [https://github.com/irsyadulibad]
Website: [http://irsyadulibad.my.id]
Facebook: [https://facebook.com/irsyadulibad.dev]