• Время чтения ~0 мин
  • 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
Sarah 3:34 PM

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Replies

Sarah 3:34 PM

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Sarah 3:34 PM

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297