• Время чтения ~1 мин
  • 04.12.2022

Ларавель Мультиплекс — это пакет 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-метаданные на Гитхабе.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack developer with experience in website development and desktop development. I have experience with various tools and technologies such as Bootstrap, Tailwind, HTML5, CSS3, PUG, JS, AlpineJs, jQuery, PHP, MODX, Laravel, NodeJS, Git, Docker, hQuery, Guzzle, Livewire, Blade, Twig, Fenom, and Smarty. I have experience in website development using Symfony, MODX and Laravel. Experie...

More
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297