У меня есть один User
, которого можно назначить многим Company
. Я пытаюсь визуализировать таблицу с помощью Laravel Datatables и jQuery Datatables. Он хорошо визуализируется и, щелкая значок заказа в заголовке таблицы, сортирует данные по этому столбцу, за исключением того, что он не работает для столбца отношений company_name
.
Это мой код в контроллере:
$users = User::with(['roles','companies'])
->where('users.id', '!=', Auth::id())
->whereHas('roles', function($q){$q->whereId(Role::ROLE_6);});
...
return Datatables::of($users)
->editColumn('company', function (User $user) {
return $user->hasCompanies()? $user->companies->first()->company_name : trans('lang.company.not_assigned');
})
->orderColumn('company', 'company')
->make(true);
А это мой javascript для таблиц данных:
otable = $('#datatable_fixed').DataTable({
"ajax": {
url: 'users/datatable',
type: 'POST',
},
"pageLength": 15,
"processing": true,
"stateSave": true,
"serverSide": true,
"bDestroy": true,
columns: [
{data: 'first_name', name: 'first_name'},
{data: 'last_name', name: 'last_name'},
{data: 'company', name: 'company.company_name'},
{data: 'email', name: 'email'},
{data: 'status', name: 'status'},
],
dom: 'Bfrtip',
searching: false,
"order": [[0, 'asc']],
"autoWidth": true,
});