Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
webbingbrasil/courses-module / DataTables / CoursesDataTable.php
Size: Mime:
<?php

namespace Modules\Courses\DataTables;

use Modules\Courses\Entities\Courses;
use Yajra\Datatables\Services\DataTable;

class CoursesDataTable extends DataTable
{
    // protected $printPreview  = 'path-to-print-preview-view';
    // protected $exportColumns = ['id', 'name'];
    // protected $printColumns  = '*';

    /**
     * Display ajax response.
     *
     * @return \Illuminate\Http\JsonResponse
     */
    public function ajax()
    {
        return $this->datatables
            ->of($this->query())
            ->make(true);
    }

    /**
     * Get the query object to be processed by datatables.
     *
     * @return \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder
     */
    public function query()
    {
        $courses = Courses::select(['title', 'is_active']);

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

    /**
     * Optional method if you want to use html builder.
     *
     * @return \Yajra\Datatables\Html\Builder
     */
    public function html()
    {
        return $this->builder()
            ->columns([
                ['data' => 'title', 'name' => 'title', 'title' => 'Curso'],
                ['data' => 'is_active', 'name' => 'is_active', 'title' => 'Status']
            ])
            ->ajax('')
            ->parameters([
                'dom' => 'Bfrtip',
                'buttons' => ['pdf', 'print', 'reset', 'reload'],
            ]);
    }
}