Глобальный поиск HasOne Relation Datatable - PullRequest
0 голосов
/ 29 ноября 2018

Краткое описание проблемы

Моя пользовательская модель имеет одно отношение с таблицей профиля. Теперь, когда я пытаюсь найти что-то, что поиск по времени не работает, только обработка показывается навсегда. Но если я удалю реляционный столбец (профиль.gender ') тогда поиск работает.

Фрагмент кода проблемы

        $('#users-table').DataTable({
            processing: true,
            serverSide: true,
            ajax: '{{route('route)}}',
            'aaSorting' : [[0,'asc']],
            columns: [
                {data: 'id',name: 'users.id'},
                {data: 'name',name: 'users.name'},
                {data: 'mobile_number',name: 'users.mobile_number'},
                {data: 'profile.gender',name: 'profile.gender'},
                {data: 'is_active',name: 'users.is_active',searchable: false},
                {data: 'is_allowed',name: 'users.is_allowed',searchable: false},
                {data: 'action',searchable: false}
            ]
        });


    $users = User::with('profile');
      return DataTables::eloquent($users)
          ->addColumn('action', function ($user) {
              return '<a href="#edit-'.$user->id.'" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
          })
          ->editColumn('is_active', function($status){
              switch($status->is_active)
              {
                //0= Inactive, 1 = Active
                  case '0': return '<span class="label label-danger">Inactive</span>'; break;
                  case '1': return '<span class="label label-success">Active'; break;
                  default: return '<span class="label label-warning">Undefine</span>';
              }
          })
          ->editColumn('is_allowed', function($status){
              switch($status->is_allowed)
              {
                  //0= Inactive, 1 = Active
                  case '0': return '<span class="label label-danger">Not Allowed</span>'; break;
                  case '1': return '<span class="label label-success">Allowed</span>'; break;
                  default: return '<span class="label label-warning">Undefine</span>';
              }
          })
          ->rawColumns(['is_active', 'action','is_allowed'])
          ->blacklist(['created_at', 'updated_at','deleted_at','action','is_allowed','is_active'])
          ->toJson();

Сведения о системе

  • yajra / laravel-datatables
  • PHP Версия 7.3
  • Laravel Version 5.7
  • Laravel-Datatables версия 8.x
...