Пакет Laravel Model Metadata призначений для управління метаданими у ваших моделях Eloquent, з підтримкою JSON для різних типів даних. Завдяки цьому пакету ви зможете легко прикріплювати, керувати та запитувати свої метадані:
use Waad\Metadata\Traits\HasManyMetadata;
class Post extends Model
{
use HasManyMetadata;
}
$post->createMetadata(['key' => 'value', 'another_key' => 'another_value']);
$post->updateMetadata('metadata_id', ['new_key' => 'new_value']);
$post->deleteMetadata('metadata_id');
Цей пакет також містить зручні методи для доступу до метаданих, незалежно від того, має ваша модель один або кілька записів метаданих:
// Операції для моделей з "багатьма" метаданими
$metadata = $post->getMetadataById('metadata_id');
$allMetadata = $post->getMetadata();
$metadataCollection = $post->getMetadataCollection();
$searchResults = $post->searchMetadata('search_term');
// Операції для моделей з "одним" метаданими
$metadata = $company->getMetadata();
$metadataCollection = $company->getMetadataCollection();
Ви можете дізнатися більше про цей пакет, отримати повні інструкції з встановлення та переглянути джерело коду на GitHub