Datatable Laravel 2.0

栏目: IT技术 · 发布时间: 4年前

内容简介:A simple package to ease datatable.js server side operationsThis package is created to handle

jQuery Datatables For Laravel 5.x

A simple package to ease datatable.js server side operations

This package is created to handle server-side and client-side works of DataTables jQuery Plugin via AJAX option by using Eloquent ORM, Query Builder or Collection.

datatable-laravel 2.0

Version 2.0 continues the improvements in version 1.0.3 by introducing some new functions , improved code structure and various bug fixes.

New

Introduced three new functions for the case if you know query is instance of which class. Currently supported include: Eloquent Query Builder, Database Query Builder and Eloquent Collection

  echo  datatable()->eloquent(User::query())->init();
  echo  datatable()->collection(User::query())->init();
  echo  datatable()->queryBuilder(User::query())->init();

Modified

Modified make and datatable function . Second parameter here is boolean with default to false indicate whether you want json response or not. If you don't pass second parameter then you need to use init() function as we are using in previous version.

echo datatable()->make(User::query(),true);
echo datatable(User::query(),true);

Using Helper Function

echo datatable()->of(User::query())->init();
echo datatable()->of(DB::table('users')->join1()->join2()->select(column1,column2,...columnK))->init();
echo datatable()->of(DB::table('users'))->init();
echo datatable()->of(User::all())->init();

echo datatables(User::query());
echo datatables(DB::table('users')->join1()->join2()->select(column1,column2,...columnK));
echo datatables(DB::table('users'));
echo datatables(User::all());

Using Facade

use Datatable;

echo Datatable::of(User::query())->init();
echo Datatable::of(DB::table('users')->join1()->join2()->select(column1,column2,...columnK))->init();
echo Datatable::of(DB::table('users'))->init();
echo Datatable::of(User::all())->init();

echo Datatable::make(User::query());
echo Datatable::make(DB::table('users')->join1()->join2()->select(column1,column2,...columnK));
echo Datatable::make(DB::table('users'));
echo Datatable::make(User::all());

Add/Edit Column

use Datatable;

echo Datatable::of(User::query())->add(columnName,function($user){
    return "<a href='' id='$user->id'>$user->name</a>";
})->init();

Using Helper Function

echo datatable()->of(User::query())->add(columnName,function($user){
    return "<a href='' id='$user->id'>$user->name</a>";
})->init();

Add/Edit Multiple Columns

use Datatable;

echo Datatable::of(User::query())->addColumns([columnName1=>function($user){
    return "<a href='' id='$user->id'>$user->name</a>";
},columnName2=>function($user){
    return "<a href='' id='$user->id'>$user->name</a>";
}...])->init();

Remove Column

use Datatable;

echo Datatable::of(User::query())->remove(columnName)->init();

Remove Multiple Columns

use Datatable;

echo Datatable::of(User::query())->remove([columnName1,columnName2,...])->init();

Requirements

Quick Installation

$ composer require iyogesharma/datatable-laravel:"~1.0"

Service Provider & Facade (Optional on Laravel 5.5)

Register provider and facade on your config/app.php file.

'providers' => [
    ...,
    YS\Datatable\DatatableServiceProvider::class,
]

'aliases' => [
    ...,
    'Datatable' => YS\Datatable\Facades\Datatable::class,
     "Table"=>YS\\Datatable\\Facades\\Table::class
]

load css files

before </body> tag add

{{table()->css()}}

load script files

before </body> tag add

{{table()->scripts()}}

load Dependencies (css/js)

before </body> tag add

{{table()->dependencies()}}

Initialize Basic DataTable

In HTMl file inside document .ready function write

    {{table()->basic()}}

Initialize Ajax DataTable

In HTMl file inside document .ready function write

    {{table()->ajax($url,$columns,$configs)}}

Example

      {{table()->dependencies()}}
<script>
        $(document).ready(function(){
                {{ table()->ajax('ddd/ddd',
                    [   'name',
                        'email',
                        'office'
                    ],[
                        'paging'=>'true',
                        'fixedheader'=>'true',
                        'buttons'=>['colvis','copy','csv','print'],
                        'order'=>[[0,'desc']],
                        'lengthMenu'=> [[ 10, 20, 30, 40, 50], [ 10, 20, 30, 40, 50]],
                    ]
                )}}
        })
    </script>

License

The MIT License (MIT). Please see License File for more information.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

点石成金

点石成金

[美] 克鲁格 (Steve Krug) / 蒋芳 / 机械工业出版社 / 2015-1-1 / CNY 59.00

《点石成金:访客至上的Web和移动可用性设计秘笈(原书第3版)》是一本关于Web设计原则而不是Web设计技术的书。《点石成金:访客至上的Web和移动可用性设计秘笈(原书第3版)》作者是Web设计专家,具有丰富的实践经验。他用幽默的语言为你揭示Web设计中重要但却容易被忽视的问题,只需几个小时,你便能对照书中讲授的设计原则找到网站设计的症结所在,令你的网站焕然一新。一起来看看 《点石成金》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具