承接 lloricode/laravel-html-table 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lloricode/laravel-html-table

最新稳定版本:v2.1.2

Composer 安装命令:

composer require lloricode/laravel-html-table

包简介

Html table generator for laravel

README 文档

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads codecov

Generate Html Table with data from array/object.

Installation

You can install the package via composer:

composer require lloricode/laravel-html-table

Usage

Sample in view

$headers = ['col1', 'col2'];

$data = [
    [
        'Lloric', 'Garcia',
    ],
    [
        'Foo', 'Bar',
    ],
    [
        'Foo1', 'bar11',
    ],
    [
        'tst', 'tesss',
    ],
];

$attributes = 'class="table"';
// Or
$attributes = ['myclass' => 'test_val'];

{!! Table::generate($headers, $data) !!}

{!! Table::generate($headers, $data, $attributes) !!}

// Model way

{!! 
    Table::generateModel(
        ['Id', 'Name', 'Email'],  // Column for table
        'App\User' // Model
        ,['id', 'name', 'email'], // Fields from model
        0, // Pagination Limit, if 0 all will show
        'border="1"' // Attributes sample js/css
    ) 
!!}

{{ Table::links() }} // Generate this when limit is not 0

// then you can add a links

{!!
    Table::optionLinks('my.route.name')
        ->modelResult(function($query){  // you can add filter if you are using model generate
            $query->where('user_id', auth()->user()->id);
            return $query;
        })
        ->generateModel(
            ['Id', 'Name', 'Email'],  // Column for table
            'App\User' // Model
            ,['id', 'name', 'email'], // Fields from model
            5, // Pagination Limit, if 0 all will show
            'border="1"' // Attributes sample js/css
        ) 
!!}

// you can specify more args
// 1st route name, 2nd header label, and 3rd is the every row label
{!! 
    Table::optionLinks('my.route.name', 'my option', 'view')
        ->generateModel(
            ['Id', 'Name', 'Email'],  // Column for table
            'App\User' // Model
            ,['id', 'name', 'email'], // Fields from model
            5, // Pagination Limit, if 0 all will show
            'border="1"' // Attributes sample js/css
        ) 
!!}

This is all default values html tags

$attributes = [
    // Main Table
    'table' => '<table>',
    'table_end' => '</table>',

    // Head
    'head' => '<thead>',
    'head_end' => '</thead>',

    'head_row' => '<tr>',
    'head_row_end' => '</tr>',
    'head_cell' => '<th>',
    'head_cell_end' => '</th>',

    // Data body
    'body' => '<tbody>',
    'body_end' => '</tbody>',

    'body_row' => '<tr>',
    'body_row_end' => '</tr>',
    'body_cell' => '<td>',
    'body_cell_end' => '</td>',

    // Alternative
    'alt_body_row' => '<tr>',
    'alt_body_row_end' => '</tr>',
    'alt_body_cell' => '<td>',
    'alt_body_cell_end' => '</td>',
];

{!! Table::generate($headers, $data, $attributes) !!}

Sample Output

<table myclass="test_val"><thead><tr><th>col1</th><th>col2</th></tr></thead><tbody><tr><td>Lloric</td><td>Garcia</td></tr><tr><td>Foo</td><td>Bar</td></tr><tr><td>Foo1</td><td>bar11</td></tr><tr><td>tst</td><td>tesss</td></tr></tbody></table>

Adding attributes in cell data

$header = ['Date', 'Description', 'Amount'];
$datas = [
    [
        ['data' => '1', 'scope' => 'row'],
        'Mark',
        'Otto',
    ],
    [
        ['data' => '2', 'scope' => 'row'],
        'foo',
        'varr',
    ],
];

{!! Table::generate($header, $datas, ['class'=>'table']) !!}

<table class="table">
   <thead>
       <tr>
           <th>Date</th>
           <th>Description</th>
           <th>Amount</th>
       </tr>
   </thead>
   <tbody>
       <tr>
           <td scope="row">1</td>
           <td>Mark</td>
           <td>Otto</td>
       </tr>
       <tr>
           <td scope="row">2</td>
           <td>foo</td>
           <td>varr</td>
       </tr>
   </tbody>
</table>

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Credits

License

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

统计信息

  • 总下载量: 55.74k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 16
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 15
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-07-19