Puoi farlo in tre modi. Tutte queste soluzioni dipendono dal fatto che l'attributo date non è un'istanza Carbon, come nel tuo caso.
- Un accesso per l'attributo date per restituire il formato che desideri:
Nel tuo modello di prova
Test.php
public function getDateAttribute($value)
{
return Carbon::createFromFormat('Y-m-d H', $value)->format('m');
}
Tuttavia, ciò influenzerà il codice ovunque.
- Il secondo modo è creare un attributo personalizzato.
public function getFormattedDateAttribute()
{
return Carbon::createFromFormat('Y-m-d H', $this->date)->format('m');
}
- Il terzo modo è modificare la raccolta stessa.
$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');
});