【发布时间】:2021-07-05 19:01:52
【问题描述】:
这是我将数据传递给路由的 ajax 数据表的代码。但它不起作用。请给我任何解决方案,我现在该怎么办。我很努力。
var table = $('#appraisalTable').DataTable({
processing: true,
serverSide: true,
ajax: "{{ route('performance.appraisal.index') }}",
columns: [
{data: 'DT_RowIndex', name: 'DT_RowIndex'},
{data: 'company_name', name: 'company_name'},
{data: 'employee_name', name: 'employee_name'},
{data: 'department_name', name: 'department_name'},
{data: 'designation_name', name: 'designation_name'},
{data: 'date', name: 'date'},
{
data: 'action',
name: 'action',
orderable: true,
searchable: true
},
],
//----- Start Checkbox ----
'columnDefs': [
{
"orderable": false,
'targets': [0]
},
{
'targets': 0,
'checkboxes': {
'selectRow': true,
'selectAllRender': '<div class="checkbox"><input type="checkbox" id="checkbox"><label></label></div>'
},
'render': function (data, type, row, meta) {
if (type === 'display') {
data = '<div class="checkbox"><input type="checkbox" class="dt-checkboxes"><label></label></div>';
}
return data;
},
}
],
这是我将数据传递给查看的控制器代码我认为有问题但我找不到它
public function index(Request $request)
{
if ($request->ajax())
{
$appraisals = Appraisal::with('company:id,company_name','employee:id,first_name,last_name','department:id,department_name','designation:id,designation_name')
->get();
return DataTables::of($appraisals)
->setRowId(function ($row)
{
return $row->id;
})
->addIndexColumn()
->addColumn('company_name', function ($row)
{
return $row->company->company_name ?? '' ;
})
->addColumn('employee_name', function ($row)
{
return $row->employee->first_name.' '.$row->employee->last_name;
})
->addColumn('department_name', function ($row)
{
return $row->department->department_name ?? '';
})
->addColumn('designation_name', function ($row)
{
return $row->designation->designation_name ?? '' ;
})
->addColumn('date', function ($row)
{
return date("d M, Y", strtotime($row->date));
})
->addColumn('action', function($row){
$actionBtn = '<a href="javascript:void(0)" name="edit" data-id="'.$row->id.'" class="edit btn btn-success btn-sm"><i class="dripicons-pencil"></i></a>
<a href="javascript:void(0)" name="delete" data-id="'.$row->id.'" class="delete btn btn-danger btn-sm"><i class="dripicons-trash"></i></a>';
return $actionBtn;
})
->rawColumns(['action'])
->make(true);
}
$companies = company::select('id','company_name')->get();
return view('performance.appraisal.index',compact('companies'));
}
我尝试了很多次但无法解决所有代码都可以。但是当我重新加载此页面时,它现在可以工作了。现在显示此页面数据。
【问题讨论】:
-
你想达到什么目的??
-
我想在数据表上显示我的数据,但它说警告
-
你看"please see" web page了吗?您是否遵循了它描述的诊断步骤?结果如何?
-
结果显示我给定标题的数据表警告表ID
-
对 - 您是否按照说明进行操作?
标签: laravel datatables