Ларавель Мультиплекс — это пакет Laravel для прикрепления метаданных с разделением по времени к моделям Eloquent. С приближением выпуска версии 1.0 вот основные функции:
- Метаданные сохраняются в версиях, включая возможность планировать метаданные на будущее.
- Свободный синтаксис
- East, чтобы попробовать расширить модель с помощью версионных метаданных, не затрагивая исходные столбцы.
- Система преобразования типов
- Настраиваемый
Вот несколько основных примеров того, как этот пакет выглядит при работе с моделью:
$post = \App\Models\Post::first();
// Set meta fluently for any key – `likes` is no column of `Post`.
$post->likes = 24;
// Or use the `setMeta` method.
$post->setMeta('likes', 24);
// Set multiple values
$model->setMeta([
'hide' => true,
'color' => '#000',
'likes' => 24,
]);
// You may also schedule changes, for example, change the meta in 2 years:
$post->setMetaAt('likes', 6000, '+2 years');
Вы также можете ограничить количество мета-ключей, разрешенных для модели с $метаКлючи
имущество:
class Post extends Model
{
use HasMeta;
protected array $metaKeys = [
'color',
'hide',
];
// You can use typecast array keys
protected array $metaKeys = [
'foo',
'count' => 'integer',
'color' => 'string',
'hide' => 'boolean',
];
}
При установке этого пакета прочтите performance раздел, чтобы избежать запросов N+1. Чтобы узнать больше об этом пакете и получить полные инструкции по установке, ознакомьтесь с laravel-метаданные на Гитхабе.