Laravel-datatables: рдПрдХ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ Datatable рдореЗрдВ рдХрд╕реНрдЯрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдлрд╝рд░ре░ 2016  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: yajra/laravel-datatables

рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛рдЯреЗрдмрд▓ рдореЗрдВ рдХрд╕реНрдЯрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕реЗ рдПрдХ рдмрд╛рдд рд╕рдордЭ рдирд╣реАрдВ рд╕рдХрд╛ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдЕрднреА рдЗрд╕реЗ рдпрд╣рд╛рдБ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдБ рдЬреЛ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ;)

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

$(document).ready(function () {
    $('.js-datatable-filter-form :input').on('change', function (e) {
        window.LaravelDataTables["dataTableBuilder"].draw();
    });

    $('#dataTableBuilder').on('preXhr.dt', function ( e, settings, data ) {
        $('.js-datatable-filter-form :input').each(function () {
            data[$(this).prop('name')] = $(this).val();
        });
    });
});

рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд┐рд▓реНрдЯрд░ рдбреЗрдЯрд╛ request() рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╕реНрдХреЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдгрд╛рдо рдмреИрдХ-рдПрдВрдб рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреЛрдк:

рд╕рдВрдЧреНрд░рд╣реАрдд рджрд╛рдпрд░рд╛

<?php namespace App\DataTables\Scopes;

use Yajra\Datatables\Contracts\DataTableScopeContract;

class ArchivedScope implements DataTableScopeContract
{
    public function apply($query)
    {
        $query->onlyTrashed();

        return $query;
    }
}

рдЙрджрд╛рд╣рд░рдг рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐:

public function archived(UserDataTable $dataTable)
{
    $dataTable->addScope(new App\DataTables\Scopes\ArchivedScope());

    return $dataTable->render('admin.users.index');
}

рднреВрдорд┐рдХрд╛ рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢

рдпрд╣рд╛рдВ apply рдкрджреНрдзрддрд┐ рдореЗрдВ request() рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдиреЛрдЯ рдХрд░реЗрдВред

<?php namespace App\DataTables\Scopes;

use Yajra\Datatables\Contracts\DataTableScopeContract;

class RoleScope implements DataTableScopeContract
{
    public function apply($query)
    {
        if ($roleId = request('role_id')) {
            $query->where('role_id', $roleId);
        }

        return $query;
    }
}

рд╕реНрдХреЛрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ: https://datatables.yajrabox.com/services/scope

рд╕рднреА 16 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рджреЗрдВред

рдЕрдкрдиреЗ рдбреАрдЯреА рд╕реЗрд╡рд╛ рд╡рд░реНрдЧ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ ajax() рдкрджреНрдзрддрд┐ рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдХреЗ рд▓рд┐рдП ajax json рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рдЕрдкрдиреЗ json рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдбрд┐рдЯ / рдХреЙрд▓рдо рдЬреЛрдбрд╝рдХрд░ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рдЖрджрд┐ ...

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдзрд┐ query() рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдбреАрдЯреА рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЖрдкрдХреА рдЖрдзрд╛рд░ рдХреНрд╡реЗрд░реА рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИред рдХрдХреНрд╖рд╛ рдореЗрдВ request() рдкрджреНрдзрддрд┐ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк Request рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рд╕реНрдирд┐рдкреЗрдЯ рджреЗрдЦреЗрдВ:

    public function ajax()
    {
        return $this->datatables
            ->eloquent($this->query())
            ->addColumn('action', 'audits.audit.datatables.action')
            ->make(true);
    }

    public function query()
    {
        $audits = Audit::query();

        if ($this->request()->get('auditType')) {
            $audits->where('type', $this->request()->get('auditType'));
        }

        return $this->applyScopes($audits);
    }

рдЙрдореНрдореАрдж рд╣реИ рдХреА рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛ред рдЬрд▓реНрдж рд╣реА рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рдбреЗрдореЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред

рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдорд┐рд▓ рдЧрдпрд╛ред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЕрдЬрд╛рдХреНрд╕ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рднреЗрдЬреЗрдВ рдФрд░ рдлрд┐рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░реЗрдВ?

рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ preXHR рдЗрд╡реЗрдВрдЯ рдкрд░ рдЕрдкрдиреЗ js рдХреЛ рд╣реБрдХ рдХрд░реЗрдВред https://datatables.net/reference/event/preXhr

рдЕрдм рдХрд╕реНрдЯрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рдкреЗрдЬрд┐рдиреЗрд╢рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред

рд╣рд╛рдп рдХреНрдпрд╛ рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ ???

рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ @yajra рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗрдВред рдпрд╛ рдпрджрд┐ рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдирд┐рдкреЗрдЯ рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред

'рдСрдбрд┐рдЯ рдЯрд╛рдЗрдк' рдХреЗ рд╕рд╛рде рдЙрдкрд░реЛрдХреНрдд рдЕрдиреБрд░реЛрдз рдЙрджрд╛рд╣рд░рдг рдореЗрдВ - рдпрд╣ рдХрд╣рд╛рдБ рд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдкреНрд░рддрд┐рд╢реЛрдз? рдХреНрдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ, рдпрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рд╣реИ:

$ ('# dataTableBuilder')
.on ('preXhr.dt', function (e, settings, data) {
data.auditType = $ ('рдЗрдирдкреБрдЯ [рдирд╛рдо = рдСрдбрд┐рдЯ рдЯрд╛рдЗрдк')ред Val ();
};

<input type="text" onchange="abc(this.value)" >

    function abc(a) {
        $('.datatable')
        .on('preXhr.dt', function ( e, settings, data ) {
            data.auditType = a;
        });
    }

рд╕рд╛рд╣рдм, рдореИрдВ рднреА datatable рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░, рдХреНрдпреЛрдВ рдореИрдВ onchange рдХреЗ рдмрд╛рдж рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ ..

рд╣рд╛рдп рдореИрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: рдореИрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдШрдЯрдирд╛ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рдЗрд╕ рддрд░рд╣, datatable рдкрд░ рдкреБрдирдГ рд▓реЛрдб рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:

$ (рдЪрдпрдирдХрд░реНрддрд╛) .on ('рдкрд░рд┐рд╡рд░реНрддрди'), рдлрд╝рдВрдХреНрд╢рди () {
$ ('рдмрдЯрдиред рдкреБрдирдГ рд▓реЛрдб')ред рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ();
};

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЯреЗрдмрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдирдорд╕реНрддреЗ, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреМрди рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░:
<input type="text" name="abc"> <div class="col-md-12"> {!! $dataTable->table(['style'=>'width:100%', 'class'=>'table table-striped table-hover']) !!} </div>
рдХреНрд▓рд╛рдЗрдВрдЯрдбреИрдЯреЗрдмрд▓:
`
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рдХреНрд╡реЗрд░реА ()
{{
$ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди_рдЖрдИрдбреА = рдкреНрд░рд╛рдорд╛рдгрд┐рдХ :: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ () -> рдПрдХреНрдЯрд┐рд╡рд╡рд░реНрдХ () -> рдЖрдИрдбреА;

    $clients = Client::where('workstation_id', $workstation_id)->with('addresses')->with('devices');

    if ($this->request()->get('abc')) {
        $clients->where('name', $this->request()->get('abc'));
    }


    return $this->applyScopes($clients);
}

JS:

$('#dataTableBuilder').on('preXhr.dt', function ( e, settings, data ) {
    data.abc= $('input[name=abc]').val();
});

`

рдХреГрдкрдпрд╛ рдорджрдж рдХрд░реЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рд╡рд╛рд▓рд╛ рдХреМрди рд╣реИред

рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд░ рдорд╛рди рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛рдЯреЗрдмрд▓ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред

рдЖрдкрдХреЛ рдЗрдирдкреБрдЯ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди, рдХреАрдк рдпрд╛ рдХреАрдбрд╛рдЙрди рдШрдЯрдирд╛ рдХреЛ рдкрдХрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдЬреИрд╕реЗ:
$(selector).on('change',function(){ $('.buttons-reload').click(); });

рдмрдЯрди-рд░реАрд▓реЛрдб рд╡рд╣ рдмрдЯрди рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдбреЗрдЯрд╛рдЯреЗрдмрд▓ рдХреНрд▓рд╛рд╕ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ:
public function html() { return $this->builder() ->columns($this->getColumns()) ->addAction(['width' => '35%']) ->parameters([ 'language' => [ 'url' => '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json' ], "lengthMenu" => [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]], "pagingType" => "full_numbers", 'dom' => 'lBfrtip', 'scrollX' => true, **'buttons' => [ 'reload' ],** ]); }

рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк рдЗрдирдкреБрдЯ рдкрд░ рдХреАрдЬрд╝ рджрдмрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдИрд╡реЗрдВрдЯ рдХреЛ рдкрдХрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛рдЯреЗрдмрд▓ рдХреЗ рд░реАрд▓реЛрдб рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдпрд╣ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреЛ рднрдбрд╝рдХрд╛рддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдЯреЗрдмрд▓ рдХреНрд▓рд╛рд╕ рдЗрдирдкреБрдЯ рд╡реИрд▓реНрдпреВ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдХреНрд╡реЗрд░реА рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рддрдГ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИред

рдирдорд╕реНрддреЗ,
рдЗрд╕рдиреЗ рдХреНрд╡реЗрд░реА рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рдкрд╛рд╕ рдХрд┐рдП рдбреЗрдЯрд╛ред рдХреЛрдИ рднреА рд╕реБрдЭрд╛рд╡ рд╣реИ?

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!!! рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ 'рдкрд░рд┐рд╡рд░реНрддрди рдкрд░' рдШрдЯрдирд╛ рдореЗрдВ preXhr.dt рдХреЛ рдЬреЛрдбрд╝рдирд╛ рднреВрд▓ рдЧрдпрд╛:
$('input[name=abc]').on('change',function(){ $('#dataTableBuilder').on('preXhr.dt', function ( e, settings, data ) { data.abc= $('input[name=abc]').val(); }); $('.buttons-reload').click(); });

рдореИрдВ рдЕрднреА рдЗрд╕реЗ рдпрд╣рд╛рдБ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдБ рдЬреЛ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ;)

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

$(document).ready(function () {
    $('.js-datatable-filter-form :input').on('change', function (e) {
        window.LaravelDataTables["dataTableBuilder"].draw();
    });

    $('#dataTableBuilder').on('preXhr.dt', function ( e, settings, data ) {
        $('.js-datatable-filter-form :input').each(function () {
            data[$(this).prop('name')] = $(this).val();
        });
    });
});

рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд┐рд▓реНрдЯрд░ рдбреЗрдЯрд╛ request() рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╕реНрдХреЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдгрд╛рдо рдмреИрдХ-рдПрдВрдб рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреЛрдк:

рд╕рдВрдЧреНрд░рд╣реАрдд рджрд╛рдпрд░рд╛

<?php namespace App\DataTables\Scopes;

use Yajra\Datatables\Contracts\DataTableScopeContract;

class ArchivedScope implements DataTableScopeContract
{
    public function apply($query)
    {
        $query->onlyTrashed();

        return $query;
    }
}

рдЙрджрд╛рд╣рд░рдг рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐:

public function archived(UserDataTable $dataTable)
{
    $dataTable->addScope(new App\DataTables\Scopes\ArchivedScope());

    return $dataTable->render('admin.users.index');
}

рднреВрдорд┐рдХрд╛ рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢

рдпрд╣рд╛рдВ apply рдкрджреНрдзрддрд┐ рдореЗрдВ request() рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдиреЛрдЯ рдХрд░реЗрдВред

<?php namespace App\DataTables\Scopes;

use Yajra\Datatables\Contracts\DataTableScopeContract;

class RoleScope implements DataTableScopeContract
{
    public function apply($query)
    {
        if ($roleId = request('role_id')) {
            $query->where('role_id', $roleId);
        }

        return $query;
    }
}

рд╕реНрдХреЛрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ: https://datatables.yajrabox.com/services/scope

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

vipin733 picture vipin733  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sangnguyenplus picture sangnguyenplus  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nasirkhan picture nasirkhan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kamrava picture kamrava  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Abdulhmid picture Abdulhmid  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ