markard / grid-data
此软件包已被废弃,不再维护。没有建议替代包。
网格数据是用于为客户端网格js软件包生成json数据的软件包。
0.1.5
2015-04-01 08:36 UTC
Requires
- php: >=5.4.0
- illuminate/support: 5.0.*
README
这是Laravel 4的软件包。该软件包为客户端表格准备数据。此外,它处理来自不同客户端库的所有特殊输入数据,并提供通用API。
当前支持:Datatables
快速开始
所需设置
在 composer.json
文件的 require
键中添加以下内容:
"markard/grid-data": "0.*"
运行Composer更新命令
$ composer update
在您的 config/app.php
文件中,将 'Markard\GridData\GridDataServiceProvider'
添加到 providers
数组的末尾
'providers' => array(
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
'Illuminate\Auth\AuthServiceProvider',
...
'Markard\GridData\GridDataServiceProvider',
),
在 config/app.php
文件的末尾,将 'GridData' => 'Markard\GridData\Facade'
添加到 aliases
数组
'aliases' => array(
'App' => 'Illuminate\Support\Facades\App',
'Artisan' => 'Illuminate\Support\Facades\Artisan',
...
'GridData' => 'Markard\GridData\Facade',
),
配置
运行Artisan命令以发布配置文件
$ php artisan config:publish markard/grid-data
在您的 config/packages/markard/grid-data/grid-data.php
中设置 driver
选项。
用法
1) 创建一个新文件,例如 UserGridRepository
。从 Markard\GridData\GridDataRepository 扩展它。
<?php use Markard\GridData\GridDataRepository; class UserGridRepository extends GridDataRepository
您必须实现一个必需的方法
public function getModel() { return new User(); }
2) 在您控制器中
public function index() { $gridData = GridData::init(new GridUserRepository(), Input::all()); return View::make('index')->withResponse($gridData->toArray()); }
API
GridDataRepository.phpgetModel()
(必需)返回Model模型。hydrate(\Model $model)
(可选)返回Eloquent Builder。此方法在getModel()
之后执行。filter($query, array $filters)
(可选)返回null。此方法实现所有筛选到我们的模型或构建器,如果您覆盖了hydrate
方法。已经实现了一些基本的筛选功能,如果您需要更多,只需覆盖它即可。$filters
是一个包含 Markard\GridData\Filter 实例的数组。Markard\GridData\Filter
是一个实例,具有两个方法:getField()
和getValue()
。sort(array $sorts)
(可选)返回null。此方法实现所有排序到我们的模型或构建器,如果您覆盖了hydrate
方法。已经实现了一些基本的排序功能,如果您需要更多,只需覆盖它即可。$sorts
是一个包含 Markard\GridData\Sort 实例的数组。Markard\GridData\Sort
是一个实例,具有两个方法:getField()
和getOrder()
。dehydrate(Paginator $paginator)
(可选)返回数组。这是在生成数据之前调用的最后一个方法。如果您需要特殊格式的返回数据,请覆盖此方法并返回您想要的任何内容。
在调用 GridData::init 之后,将返回此类的实例。
filter(array $filters)
设置将实现到查询的Markard\GridData\Filter
数组。sort(array $sorts)
设置将实现到查询的Markard\GridData\Sort
数组。page($page)
设置当前页。pageSize($pageSize)
设置页面大小。toArray()
返回数据 + 元数据的数组。toJson()
返回toArray
方法的编码结果。