Vous pouvez le faire de trois manières. Toutes ces solutions dépendent du fait que l'attribut date n'est pas une instance Carbon, ce qui est votre cas.
- Un accesseur pour l'attribut date pour renvoyer le format de votre choix :
Dans votre modèle de test
Test.php
public function getDateAttribute($value)
{
return Carbon::createFromFormat('Y-m-d H', $value)->format('m');
}
Cependant, cela affectera le code partout.
- La deuxième méthode consiste à créer un attribut personnalisé.
public function getFormattedDateAttribute()
{
return Carbon::createFromFormat('Y-m-d H', $this->date)->format('m');
}
- La troisième méthode consiste à modifier la collection elle-même.
$months = \App\Test::where('date', '<=', 'now()')
->orderBy('date', 'desc')
->pluck('date');
$months->each(function($month){
return Carbon::createFromFormat('Y-m-d H', $month)->format('m');
});