Merhaba dostlar datatables kullanıyorum 3800 adet ürün listeliyorum.25-30 saniyelik bir bekletme yaşıyorum ekrana basarken ve sayfalar arasında gezinirikende.Server-side tarafında sayfalama yöntemi yaparsam hızlandıracağını düşünüyorum ama daha önce böyle birşey yapmadım datatables tarafınada çok hakim değilim belki aranızda daha önce yapan veya bilen birileri vardır ve bana bir ışık gösterir.
Server Side Code ;
if ($request->ajax()) {
$data = Product::all();
return Datatables::of($data->toArray())
->addIndexColumn()
->addColumn('action', function ($row) {
$actionBtn = '<a href="/products/edit/' . $row["id"] . '" class="edit btn btn-success btn-sm" target="_blank">Edit</a> <button class="productDeleteBtn btn btn-danger btn-sm" data-id="' . $row["id"] . '">Delete</button>';
return $actionBtn;
})
->rawColumns(['action'])
->make(true);
}
JS Code ;
var table = $('#datatable').DataTable({
ajax: {
url: "/products/get",
type: "GET",
},
processing: true,
serverSide: true,
columns: [
{data: 'name', name: 'name'},
{data: 'code', name: 'code'},
{data: 'created_at', name: 'created_at'},
{data: 'updated_at', name: 'updated_at'},
{
data: 'action',
name: 'id',
orderable: true,
searchable: true
},
]
});
});