Tables
Introduction
The table
plugin function allows you to initialize, configure, and display a table builder inline within a view.
Displaying Tables
The easiest way to display a table is to use the table
function and specify the namespace
and stream
slug.
The render
method will trigger display but it is optional as __toString
will result in the same thing.
{{ table('books', 'reviews').render()|raw }}
You may want to take more control and set the table to a variable and use it.
{% set table = table('books', 'reviews') %}
{{ table.render|raw }}
Binding Table Builders
The table
function makes use of a generic table builder
class by default. Often times, however, you want to build and use a specific table builder. The easiest way to use said builder in the table
function is to bind
it to the service container.
You can define a table builder binding
within a service provider.
Service Providers{.link} Table Builders{.link}
protected $bindings = [
'employment_applicants_table' => \Anomaly\ExampleModule\Applications\Table\PublicApplicantsTableBuilder::class
];
After binding the table builder you can use it by specifying the bound key
.
{{ table('employment_application').render()|raw }}
Table Components
You can work with table components
similarly as to how you would work with a table builder
.
Table Builders{.link}
Table Components{.link}
Configuring Tables
You can configure tables inline to an extent. Which is sometimes easier than writing a dedicated table builder.
Generally you can interact with the table criteria
the same as you would with a table builder
instance.
Table Builders{.link}
Table Configuration{.link}
Setting Options
You can set options by using the setOption
method.
Table Options{.link}
{{ table('employment_application')
.setOption('redirect', url_previous())
.render()|raw }}