PHPackages                             laravolt/suitable - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. laravolt/suitable

ActiveLibrary[Admin Panels](/categories/admin)

laravolt/suitable
=================

Semantic-UI table builder for Laravel application

v4.0.2(6y ago)817.1k↓50%4[6 issues](https://github.com/laravolt/suitable/issues)7MITPHPPHP &gt;=7.3

Since Jul 19Pushed 6y ago2 watchersCompare

[ Source](https://github.com/laravolt/suitable)[ Packagist](https://packagist.org/packages/laravolt/suitable)[ Docs](https://github.com/laravolt/suitable)[ RSS](/packages/laravolt-suitable/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (68)Used By (7)

SUI-TABLE
=========

[](#sui-table)

Semantic-UI table builder for Laravel.

Version Compatibility
---------------------

[](#version-compatibility)

LaravelSuitable5.2.x1.x5.3.x2.x5.4.x2.x5.5.x2.x5.6.x2.x5.7.x2.x5.8.x3.xInstallation
------------

[](#installation)

### Install Package

[](#install-package)

```
composer require laravolt/suitable
```

### Service Provider

[](#service-provider)

*Skip this step for Laravel &gt;= 5.5.*

```
Laravolt\Suitable\ServiceProvider::class,
```

### Facade

[](#facade)

*Skip this step for Laravel &gt;= 5.5.*

```
'Suitable'  => Laravolt\Suitable\Facade::class,
```

Usage
-----

[](#usage)

### Basic

[](#basic)

```
{!! Suitable::source(User::all())
->columns([
    \Laravolt\Suitable\Columns\Numbering::make('No'),
    ['header' => 'Nama', 'field' => 'name'],
    ['header' => 'Email', 'field' => 'email'],
])
->render() !!}
```

### Columns Definition

[](#columns-definition)

#### `field`

[](#field)

```
{!! Suitable::source(User::all())
->columns([
    ['header' => 'Email', 'field' => 'email'],
    ['header' => 'Bio', 'field' => 'profile.bio'], // nested attribute
])
->render() !!}`
```

#### `view`

[](#view)

```
{!! Suitable::source(User::all())
->columns([
    ['header' => 'Address', 'view' => 'components.address'],
])
->render() !!}`
```

`views/components/address.blade.php`

```

  Address:
  {{ $data->address_1 }}
  {{ $data->address_2 }}
  {{ $data->city }}, {{ $data->state }}

```

#### `raw`

[](#raw)

```
{!! Suitable::source(User::all())
->columns([
    [
        'header' => 'Roles',
        'raw' => function($data){
            // do anything here and don't forget to return String
            return $data->roles->implode('name', ', '); // output: "role1, role2, role3"
        }
    ],
])
->render() !!}`
```

#### `ColumnInterface`

[](#columninterface)

```
{!! Suitable::source(User::all())
->columns([
    new \App\Columns\StatusColumn('Status'),
])
->render() !!}
```

##### Contract

[](#contract)

```
