Nous sommes heureux d'annoncer le lancement de notre paquet Open Source Laravel Lookup qui permet de simplifier la gestion des données statiques et de les rattachées à des modèles Eloquent sur Laravel avec des casts.
Voici un petit exemple d'utilisation pour un modèle Eloquent Car aillant un attribut engine :
// Code du lookup CarEngineLookup.php
class CarEngineLookup extends Lookup
{
public $key;
public $name;
protected static function getItems()
{
return [
['key' => 'gas', 'name' => "Essence"],
['key' => 'elec', 'name' => "Electrique"],
['key' => 'hyb', 'name' => "Hybride"],
];
}
}
// Code du modèle Car.php
class Car extends Model
{
protected $casts = [
'engine' => LookupCast::class.':'. Lookups\CarEngineLookup::class,
];
}
Ainsi il sera possible de faire $car->engine->name sur une instance du modèle Car. Toutes les informations sur son utilisation sur la page Github du paquet.