0

i want to add button in Yajra, so i read http://dt54.yajrabox.com/buttons/eloquent. Im following the step. But still show blank.

nb. if im not using datatable service running well.

Datatables class

namespace App\DataTables;

use App\employee;
use Yajra\Datatables\Services\DataTable;
class EmployeeDataTable extends DataTable
{

public function ajax()
{
return $this->datatables
->eloquent($this->query())
->make(true);
}

public function query()
{
    $query = employee::select();

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

public function html()
{
   return $this->builder()
                ->columns($this->getColumns())
                ->ajax('{{ url("Employee/index3") }}')
                ->parameters([
                    'dom'          => 'Bfrtip',
                    'buttons'      => ['export', 'print', 'reset', 'reload'],

                ]);
}

protected function filename()
{
    return 'employeedatatables_' . time();
}

in Controller

use Yajra\Datatables\Facades\Datatables;
use App\DataTables\EmployeeDataTable;

public function index3(EmployeeDataTable $dataTable)
{
    return $dataTable->render('employee.users');
}

in View

@extends('layouts.app')

@section('content') 
<div class="col-md-8 col-md-offset-2">
<h3>test</h3>   

{!! $dataTable->table() !!}
</div>
{!! $dataTable->scripts() !!}
@endsection

If i used firebug, i've got error 304 not modified. Can you tell me what my mistake,pls ?

Prabu Karana
  • 302
  • 1
  • 4
  • 15

1 Answers1

0

Solved.. maybe can help somebody.. this is Column search,and add action using Datatabale service

in Datatables class

public function ajax()
{

    return $this->datatables

        ->eloquent($this->query())
        ->addColumn('action', function ($query) {
                        return '<a href="#edit-'.$query->ID.'" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a> 
                    <a href="#delete-'.$query->ID.'" class="btn btn-xs btn-danger"><i class="glyphicon glyphicon-minus-sign"></i> Del</a>';
                    })
         ->make(true);
}

public function query()
{
    $query = employee::select('ID','cNip','vName','vBankbranch');

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

public function html()
{
   return $this->builder()
                ->columns($this->getColumns())
                ->addAction(['width' => '10%'])
                ->ajax('')
                 ->parameters([
                    'dom'          => 'Bfrtip',
                    'buttons'      => ['export', 'print', 'reset', 'reload'],
                    'initComplete' => "function () {
                        this.api().columns().every(function () {
                            var column = this;
                            var input = document.createElement(\"input\");
                            $(input).appendTo($(column.footer()).empty())
                            .on('change', function () {
                                column.search($(this).val(), false, false, true).draw();
                            });
                        });
                    }",
                ]);
}

in View

@extends('layouts.app')
@section('content') 
<div class="col-md-8 col-md-offset-2">
<h3>test</h3>   
{!! $dataTable->table([], true) !!}
</div>
@endsection
@section('scripts')
{!! $dataTable->scripts() !!}
@endsection
Prabu Karana
  • 302
  • 1
  • 4
  • 15