• Czas czytania ~1 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 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...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297