Sayfalar

7 Aralık 2017 Perşembe

laravel datatable yajra


install yajra extensions      https://github.com/yajra/laravel-datatables


<table id="havuz_table" class="table table-hover table-bordered">
                       <thead>
                             <th></th>
                             <th></th>
                              <th></th>
                              <th></th>
                              <th></th>
                       </thead>
                       <tbody>
                      </tbody>
 </table>
         <script>

            var table = $('#havuz_table').DataTable({
                destroy: true,
                responsive: true,
                lengthMenu: [[10, 25, 50, -1], [10, 25, 50, "All"]],
                processing: true,
                serverSide: true,
                data: {"_token": "{{ csrf_token() }}"},
                //"bFilter": false,
                ajax: {

                    url: "{{URL::to('uzmangrup/mykdeneyimListeAjax').'/'.$tc}}"

                },

                deferRender: true,
                language: {
                    url: '/lib/datatables/media/language/Turkish.json'
                },
                columns: [

                    {
                        "title": "{!! Lang::get('global.title_deneyim_tipi') !!}",
                        "targets": 0,
                        "render": function (data, type, row) {

                            return alanlar_array[row['TIP']];
                        },
                        "orderable": true,
                        "searchable": true
                    },

                    {
                        "title": "{!! Lang::get('global.title_aciklama') !!}",
                        "targets": 2,
                        "render": function (data, type, row) {
                            return row['ACIKLAMA'];
                        },
                        "orderable": true,
                        "searchable": true
                    },
                    {
                        "title": "{!! Lang::get('global.title_myktecrube_sure') !!}",
                        "targets": 3,
                        "render": function (data, type, row) {
                            return row['SURE'];
                        },
                        "orderable": true,
                        "searchable": true
                    },
                    {
                        "title": "{!! Lang::get('global.title_duzenle') !!}",
                        "targets": 5,
                        "render": function (data, type, row) {

                            return '<button type="button" class="btn btn-xs btn-primary FuncDuzenlemeGetir" data-id="' + row['MYKDENEYIM_ID'] + '">{!! Lang::get('global.title_duzenle')!!}</button>';


                        },
                        "orderable": false,
                        "searchable": false
                    },
                    {
                        "title": "{!! Lang::get('global.title_duzenle') !!}",
                        "targets": 6,
                        "render": function (data, type, row) {

                            return '<button id="' + row['MYKDENEYIM_ID'] + '" type="button" class="btn btn-xs btn-danger sil">{!! Lang::get('global.title_sil') !!}</button>';

                        },
                        "orderable": false,
                        "searchable": false
                    }

                ]
            });
</script>
<?php
public function mykdeneyimListeAjax(Request $request, $tc)
    {

        return Datatables::of($this->repo->getMykdeneyim($tc))
            ->filterColumn('TARIH', function ($query, $keyword) {
                $query->whereRaw("TARIH like ?", ["%{$this->trTOenUpper($keyword)}%"]);
            })
            ->filterColumn('TUR', function ($query, $keyword) {
                $query->whereRaw("TUR like ?", ["%{$this->trTOenUpper($keyword)}%"]);
            })
            ->filterColumn('SURE', function ($query, $keyword) {
                $query->whereRaw("SURE like ?", ["%{$this->trTOenUpper($keyword)}%"]);
            })
            ->filterColumn('ACIKLAMA', function ($query, $keyword) {
                $query->whereRaw("ACIKLAMA like ?", ["%{$this->trTOenUpper($keyword)}%"]);
            })
            ->make(true);

    }
?>

              or without yajra plugin
<?php

$data=array(); 

$data["TARIH"]=.... // return sql query
$data["ACIKLAMA"]=.... // return sql query


$results = array(
    "sEcho" => 1,
    "iTotalRecords" => count($data),
    "iTotalDisplayRecords" => count($data),
    "aaData"=>$data);


echo json_encode($results);

?>


Hiç yorum yok:

Yorum Gönder