Manipulate data
This page shows you various ways to manipulate the data shown in your BREADs.
Filters
Read more about filters here
Scopes
You can apply a scope to every layout in a BREAD.
The Laravel documentation shows you how to implement them.
For Voyager to recognize your scope, please make sure to follow the naming convention scope[X]
, for example scopeActive
.
You can now select the scope you want to use in the layout options:
INFO
Because Voyager doesn't know which view you use in combination with which list, you should also apply the scope to your views to prevent users from manually setting URL parameters and using entries they are not supposed to.
Computed properties
Computed properties allow you to display and edit properties that don't physically exist in your database.
Getting data
To get the data to be shown when browsing, simply create an accessor as described in the Laravel docs.
Please be aware that an accessor has to be named get[X]Attribute
(for example getFullNameAttribute
) to be recognized by Voyager.
Setting data
If you want to be able to edit and/or add the data of a non-existing property, you have to create a mutator.
When used in a list, an accessor is sufficient.
The mutator also has to follow the naming convention set[X]Attribute
, for example setFullNameAttribute
.
Using your computed property
Now that you created an accessor (and a mutator when you want to edit/add), you can simply select your accessor in the Column
dropdown.