Você pode fazer isso de três maneiras. Todas essas soluções dependem do fato de que o atributo date não é uma instância do Carbon, que é o seu caso.
- Um acessador para o atributo de data para retornar o formato desejado:
Em seu modelo de teste
Teste.php
public function getDateAttribute($value)
{
return Carbon::createFromFormat('Y-m-d H', $value)->format('m');
}
No entanto, isso afetará o código em todos os lugares.
- A segunda maneira é criar um atributo personalizado.
public function getFormattedDateAttribute()
{
return Carbon::createFromFormat('Y-m-d H', $this->date)->format('m');
}
- A terceira maneira é editar a própria coleção.
$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');
});