Eloquent, scope & mutateurs

Voir la vidéo
Description Sommaire

Nous allons maintenant revenir sur Eloquent et parler des scopes et des accesseurs/mutateurs.

Scope

Dans une application on a souvent besoin de récupérer des informations avec des conditions particulièrres ce qui peut rapidement remplir nos controller. La solution pour remédier au problème est d'utiliser les scopes qui permettent de créer des méthodes pour notre QueryBuilder.

public function scopePublished($query){
    return $query->where('published', true); 
}

La fonction devra respecter le format camelCase et commencer par le mot clef scope. Une fois le scope créé on aura la possibilité de l'utiliser pour récupérer nos informations.

Model::published()

Accesseurs / Mutateurs

Les accesseurs / mutateurs permettent de transformer les données lors de leur récupération ou lors de leur enregistrement.

class User extends Eloquent {

    public function getFirstNameAttribute($value)
    {
        return ucfirst($value);
    }

    public function setFirstNameAttribute($value)
    {
        $this->attributes['first_name'] = strtolower($value);
    }
}
Publié
Technologies utilisées
Auteur :
Grafikart
Partager