Package Data | |
---|---|
Maintainer Username: | lloricode |
Maintainer Contact: | lloricode@gmail.com (Lloric Mayuga Garcia) |
Package Create Date: | 2017-07-19 |
Package Last Update: | 2025-02-03 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2025-02-06 03:06:01 |
Package Statistics | |
---|---|
Total Downloads: | 25,216 |
Monthly Downloads: | 1,254 |
Daily Downloads: | 75 |
Total Stars: | 15 |
Total Watchers: | 4 |
Total Forks: | 0 |
Total Open Issues: | 0 |
Generate Html Table with data from array/object.
composer require lloricode/laravel-html-table
Lloricode\LaravelHtmlTable\Providers\LaravelHtmlTableProvider::class,
'Table'=> Lloricode\LaravelHtmlTable\Facades\LaravelHtmlTableFacade::class,
$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() }} // Generat 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 heder 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
) !!}
$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) !!}
<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>
$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>
Best regards. :)