nsbucky/resulttable

Laravel 4.2 项目的表格创建工具

dev-master 2015-03-17 19:21 UTC

This package is not auto-updated.

Last update: 2024-09-18 07:31:32 UTC


README

受Yii的CGridView启发,这个Laravel 4.2依赖类旨在提供一个简单的方法来从数组(即数据库结果集)生成表格。它基于数组的数组或对象的数组。您可以选择显示哪些数组列或对象属性。它不重写查询或处理分页,这由您负责。

功能

  • 可配置的表头
  • 生成排序URL
  • 默认使用Bootstrap表格CSS
  • 提供的列类型可以加快开发速度

列类型

ResultTable为计算或显示特定数据类型提供几种不同的列类型。

  • 列:默认列类型,支持可见性和自定义表头和过滤器
  • 复选框:在表格单元格中生成复选框
  • 日期时间:使用php的DateTime对象格式化日期字符串
  • 链接:生成锚点标签
  • 总计:对列求和并在表格页脚中放置总计

格式化器

当您将列添加到表格中时,可以快速格式化列

->addColumn('name:formatter|option1:value1')
->addColumn('email_address:email')

必需的设置

下载库,并将其放置在可以用composer自动加载的地方

"autoload": {
    "psr-4": {
      "ResultTable\\": "/path/to/src/"
    }
  }

示例

$table = new ResultTable\Table( Paginator $dataSource);
$table->addColumn('uniqid')
->addLinkColumn([
      'filter'=>Form::text('first_name', Input::get('first_name'), ['placeholder'=>'First Name','class'=>'form-control']).
                '<br>'.Form::text('last_name', Input::get('last_name'), ['placeholder'=>'Last Name','class'=>'form-control']),
      'name' =>'full_name',
      'filterName'=>['first_name','last_name'],
      'label'=>function( $data ){
              return $data->displayName();
          },
      'url'=>'/leads/{id}'
  ])
->addColumn('uploaded_image:image|width:50|height:50')   
->addDateTimeColumn('created_at')
->addViewButton('/url/{id}');

echo $table->render();