1. Go to this page and download the library: Download bogddan/laravel-tablekit library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bogddan / laravel-tablekit example snippets
use Bogddan\Tablekit\Sortable;
class User extends Model
{
use Sortable;
public array $sortable = ['id', 'name', 'email', 'created_at'];
}
public function index(User $user)
{
$users = $user->sortable()->paginate(25);
return view('users.index', compact('users'));
}
$user->sortable('name')->paginate(); // name asc
$user->sortable(['name'])->paginate(); // name asc
$user->sortable(['name' => 'desc'])->paginate(); // name desc
class User extends Model
{
use Sortable;
public array $sortable = ['id', 'name'];
/** Relations this model may be sorted through. */
public array $sortableRelations = ['profile'];
public function profile(): HasOne
{
return $this->hasOne(Profile::class);
}
}
class Profile extends Model
{
public array $sortable = ['phone_number', 'address'];
}
class Profile extends Model
{
public array $sortable = ['phone_number'];
public array $sortableRelations = ['country']; // not declared on User
}
class User extends Model
{
use Sortable;
public array $sortable = ['name', 'address']; // "address" ressSortable(Builder $query, string $direction): Builder
{
return $query->join('profiles', 'users.id', '=', 'profiles.user_id')
->orderBy('address', $direction)
->select('users.*');
}
}
class User extends Model
{
use Sortable;
public array $sortable = ['id', 'name'];
public array $sortableAs = ['posts_count', 'nick_name'];
}
$users = $user->withCount('posts')->sortable()->paginate();
$users = $user->select('name as nick_name')->sortable(['nick_name'])->paginate();
'columns' => [
'alpha' => ['rows' => ['name', 'email'], 'class' => 'fa fa-sort-alpha'],
'numeric' => ['rows' => ['id', 'created_at'], 'class' => 'fa fa-sort-numeric'],
],
'asc_suffix' => '-asc', // Font Awesome 4; use '-up' for Font Awesome 5+
'desc_suffix' => '-desc', // Font Awesome 4; use '-down' for Font Awesome 5+