Comment faire un Trait dans Laravel
Où le fichier faire si je veux utiliser ce trait sur mes Modèles
Comment ce fichier ressemble si je veux avoir ce trait de caractère à l'intérieur:
trait FormatDates
{
protected $newDateFormat = 'd.m.Y H:i';
//save the date in UTC format in DB table
public function setCreatedAtAttribute($date){
$this->attributes['created_at'] = Carbon::parse($date);
}
//convert the UTC format to my format
public function getCreatedAtAttribute($date){
return Carbon::parse($date)->format($this->newDateFormat);
}
//save the date in UTC format in DB table
public function setUpdatedAtAttribute($date){
$this->attributes['updated_at'] = Carbon::parse($date);
}
//convert the UTC format to my format
public function getUpdatedAtAttribute($date){
return Carbon::parse($date)->format($this->newDateFormat);
}
//save the date in UTC format in DB table
public function setDeletedAtAttribute($date){
$this->attributes['deleted_at'] = Carbon::parse($date);
}
//convert the UTC format to my format
public function getDeletedAtAttribute($date){
return Carbon::parse($date)->format($this->newDateFormat);
}
}
Et comment l'appliquer par exemple à un Utilisateur de la classe du Modèle...
OriginalL'auteur lewis4u | 2016-10-27
Vous devez vous connecter pour publier un commentaire.
Bien, laravel suit
PSR-4
de sorte que vous devez placer vos traits:app/Traits
Vous devez alors assurez-vous de l'espace de noms de votre trait avec cette voie, de sorte lieu:
En haut de votre
trait
Alors assurez-vous que lorsque vous enregistrez le fichier, le nom de fichier correspond au trait de nom. Donc, si votre caractère est appelé
FormatDates
vous devez enregistrer le fichier en tant queFormatDates.php
Puis "utiliser" dans votre modèle Utilisateur, en ajoutant:
en haut de votre modèle, mais en dessous de votre
namespace
puis ajouter:
juste à l'intérieur de la classe, donc pour l'Utilisateur de votre modèle, en supposant que vous utilisez le laravel par défaut, vous obtenez:
Et n'oubliez pas de dump de l'autochargeur:
composer dump-autoload
Assurez-vous d'enregistrer le fichier en tant que
FormatDates.php
pour correspondre à votre nom de classe.Qu'il fixe....maintenant j'ai une autre erreur de la Classe '\App\' Utilisateur ne trouve pas..???
Il semble que vous avez ajouté un espace de noms de l'Utilisateur de votre modèle, l'espace de noms pour le modèle de l'Utilisateur doit être
namespace App;
, alors assurez-vous que vous n'avez pas inclusnamespace App\Traits
dans votre modèle UtilisateurVous avez juste 5 min s'il vous plaît je n'ai plus de problème...je ne peux pas modifier les paramètres régionaux..il est modifié dans config/app.php mais il ne s'applique pas
OriginalL'auteur craig_h