Skip to main content
Tags provide a way to relate otherwise unrelated models, enabling features like dynamic collections.

Overview

Tags provide a way to relate otherwise unrelated models in the system. They also impact other features such as Dynamic Collections. For example, two products “Blue T-Shirt” and “Blue Shoes” are unrelated by nature, but adding a BLUE tag to each product allows a Dynamic Collection to include any products with that tag.

Fields

Tags are automatically converted to uppercase whenever the value attribute is set, including through syncTags.

Enabling tags

To enable tagging on a model, add the HasTags trait:
Tags can then be attached using syncTags:
The syncTags method accepts a collection of tag value strings, not Tag model instances. It finds or creates a Lunar\Core\Models\Tag for each value and syncs the model’s tags relationship to them. Values are automatically converted to uppercase. The sync process runs via a queued job (Lunar\Core\Jobs\SyncTags), so changes may not be reflected immediately if using an asynchronous queue driver.