À propos de ce tutoriel
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);
}
}