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方法的编码结果。