Categories
Enso comes with a default Category system.
Relationships
You can set up a relationship with Categories by applying one of two provided traits to your model.
use Yadda\Enso\Categories\Traits\BelongsToCategories;
// or
use Yadda\Enso\Categories\Traits\BelongsToManyCategories;
Selecting Categories in the Admin Area
To be able to attach categories to your CRUD using Enso, you will need to add the appropriate fields to your CRUD.
For a single category
use Yadda\Enso\Categories\Models\Category;
use Yadda\Enso\Crud\Forms\Fields\BelongsToField;
// ...
$section->addField(
BelongsToField::make('category')
->useAjax(route('admin.categories.index'), Category::class),
);
For multiple categories
use Yadda\Enso\Categories\Models\Category;
use Yadda\Enso\Crud\Forms\Fields\BelongsToManyField;
// ...
$section->addField(
BelongsToManyField::make('categories')
->useAjax(route('admin.categories.index'), Category::class),
);
JSON Routes
You can quickly add simple JSON routes for your categories
EnsoCategories::routes('json/categories', EnsoCrud::controllerClass('category'), 'json.categories');