• Czas czytania ~ :czas min
  • 04.12.2022

Laravel multipleks to pakiet Laravel do dołączania metadanych w przekroju czasowym do modeli Eloquent. Ponieważ zbliża się wydanie wersji 1.0, oto główne funkcje:

  • Metadane są zapisywane w wersjach, w tym możliwość planowania metadanych na przyszłość
  • Płynna składnia
  • East, aby spróbować rozszerzyć swój model o wersjonowalne metadane bez dotykania oryginalnych kolumn
  • System konwersji typów
  • Konfigurowalny

Oto kilka podstawowych przykładów tego, jak ten pakiet wygląda podczas pracy z modelem:

$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');

Możesz także ograniczyć, które klucze meta są dozwolone w modelu za pomocą a $metaKeys własność:

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',
    ];
 
}

Podczas konfigurowania tego pakietu przeczytaj performance sekcję, aby uniknąć zapytań N+1. Aby dowiedzieć się więcej o tym pakiecie i uzyskać pełne instrukcje instalacji, sprawdź metadane laravel na GitHubie.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

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
Kontakt
Ukraine, Lutsk
+380979856297