Table des matières

Laravel

Models

Créer un Model

  php artisan make:model Image
Le 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:

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