Как я могу искать все данные в Datatables Яджра - PullRequest
0 голосов
/ 18 апреля 2020

я пытаюсь использовать yajra datatables laravel У меня проблема с поиском, когда я ищу данные, которые уже выходят из таблиц данных, это не работает, я уже пробовал пример в документации, но это не работает для меня

Может кто-то помочь меня? научите меня, как делать, как я имею в виду

пример данных пример поиска

** это мои javascript таблицы данных **

let oTable = $("#example1").DataTable({
        responsive: true,
        autoWidth: false,
        processing: true,
        serverSide: true,
        ajax:
        {
            url: '{{ route("data.user.datatables") }}',
            type: 'GET',
            data: function (d) {
                d.filter = $('select[name=filter]').val();
            }
        },
        columns: [
            { data: 'id'},
            { data: function(data, type, row){
                return 'Username : ' + data.username +
                '<br> Email : ' + data.email +
                '<br> Ponsel : ' + data.contact_number;
            },
            name: 'username'
            },
            {
            data: function(data, type, row){
                return 'Register Date : ' +  data.created_at +
                        '<br> Last Login : ' + data.last_login +
                        '<br> App By : '+ data.app_admin +' / '+ data.date_admin_app +
                        '<br> App By : '+ data.login +' || '+ data.status_member;
            },

             name: 'created_at'
            },
            { data: function(data, type, row){
                return 'Saldo : ' +  data.saldo +
                    '<br> Bank Name : ' + data.bank_name +
                    '<br> Account Name : '+ data.account_name +
                    '<br> Account Number : '+ data.account_number;
            },
            name:'saldo'
            },
            { data: 'action', orderable: false, searchable: false}
        ],
        order:[[0,'desc']],

    });

это в моем lareval контроллере

if($request->ajax()):

            $request->validate([
                'filter' => ['string','nullable','alpha'],
            ]);

            if($request->filled('filter')):
                $users = User::query()->where('status_member', $request->filter);
            else:
                $users = User::query();
            endif;
            $data =  Datatables::of($users);
             $data->addIndexColumn();
             $data->addColumn('action', function ($user) {
                return '<div class="btn-group" role="group" aria-label="Button group with nested dropdown">
                            <div class="btn-group" role="group">
                                <button id="btnGroupDrop1" type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Action</button>
                                <div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
                                    <a class="dropdown-item modal-edit-user" data-toggle="modal" data-target="#modalEditUser" href="javascript:void(0)" data-id="' . $user->id . '" data-username="' . $user->username . '" >Edit</a>
                                    <a class="dropdown-item" href="#">Dropdown link</a>
                                </div>
                            </div>
                        </div>';
            });
            $data->rawColumns(['action']);
            return $data->make();
        endif;

1 Ответ

0 голосов
/ 18 апреля 2020

Вы вообще ничего не отправляете на пользовательский запрос.

Вместо

$users = User::query()->where('status_member', $request->filter);
...
$users = User::query();

попробуйте

$users = User::where('status_member', $request->filter)->get();
...
$users = User::all();

РЕДАКТИРОВАТЬ:

обновить код:

{ data: 'action', orderable: false, searchable: false}

до

{ data: 'action', orderable: false, searchable: true}
...