meta data for this page
Laravel
Models
Créer un Model
php artisan make:model ImageLe fichier créé sera dans le dossier
/app
Fichier ⇒ Image.php
Dans le modèle, on peut autoriser quelle colonne sera modifiable. Ici nous autorisons la colonne name
à être modifiée.
protected $fillable = ['name'];
Getter / Setter
Les différents attributs (colonnes) d'une table peuvent être modifié automatiquement à la lecture ou à l'écriture grâce aux Getters et Setters (aussi appelé accesseurs et de mutateurs).
Il faut écrire ces fonctions en respectant ce modèle:
- public function getNomAttributAttribute
- public function setNomAttributAttribute($to_set)
Exemple Getter: dans un modèle User, on peut ajouter un getter qui nous permet de savoir si l'utilisateur à un rôle admin.
public function getAdminAttribute() { return $this->role === 'admin'; }
La table users
a un champ rôle qui peut contenir admin
ou user
Si le champs contient admin
, le getter retourne true
C'est cette fonction qu'on utilise dans l'exemple Créer un Middleware
Exemple Setter: dans un modèle User, on peut ajouter un setter qui changera le nom d'un utilisateur en majuscule quand on l'enregistre dans la base de données
public function setNameAttribute($value) { $this->attributes['name'] = strtoupper($value); }
À chaque fois qu'un nouvel utilisateur est enregistré en base de donnée, son nom sera transformé en majuscule.
Créer un modèle et le fichier de migration en même temps
php artisan make:model Image -m