سلام کسی از دوستان با dataTables برای صفحه بندی داده ها کار کرده؟
بهترین آموزش داکیومنت خود پکیج هست :
https://datatables.yajrabox.com/starter
ساده توضیح داده مرحله به مرجله جلو برید متوجه موضوع میشد
اما به طور کلی به این صورت کار می کنه شما یک روت را جهت نمایش اطلاعات در نظر میگیرید و یک روت دیگر را برای پردازش اطلاعات جدول
به عنوان مثال بعد از اضافه کردن فایل های مورد نیاز این پکیج به وب سایت و view مربوطه برای نمایش داده ها در controller مربوطه یک function جهت صفحه نمایش اطلاعات (مثل جدول لیست کاربران ) ایجاد می کنید:
public function index() {
return view('users.index');
}
بعد یک function برای پردازش اطلاعات و ارسال اونها به جدولتون :
public function usersdata()
{
$model = User::get(); //get users
return Datatables::of($model)->make(true);
}
حال در صفحه جدول یا همون view نمایش جدول لیست کاربران که ایجاد کرده بودید باید کد های مربوط به datatable رو قرار بدید :
مثلا اگر yield content@ دارید توی قسمت content اون view اضافه می کنید:
<table class="table table-bordered" id="users-table">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Email</th>
<th>Created At</th>
<th>Updated At</th>
</tr>
</thead>
</table>
و در قسمت js همون صفحه
$(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '{!! route('datatables.data') !!}',
columns: [
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name' },
{ data: 'email', name: 'email' },
{ data: 'created_at', name: 'created_at' },
{ data: 'updated_at', name: 'updated_at' }
]
});
});
دقت کنید که به جای
{!! route('datatables.data') !!}
باید آدرس route که برای دریافت دیتا ساختید (usersdata ) در مثال بالا بدید.
باز مستندات رو مطالعه کنید بهتر متوجه میشید و موردی در قسمت خاصی داشتید اعلام بفرمایید