• Час читання ~1 хв
  • 04.12.2022

Laravel Мультиплекс це пакет 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');

Ви також можете обмежити, які мета-ключі дозволені для моделі за допомогою a $metaKeys властивість:

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 на GitHub.

Comments

No comments yet
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