これは、3つの方法で実行できます。これらのソリューションはすべて、date属性がCarbonインスタンスではないという事実に依存しています。これはあなたの場合です。
- 希望の形式を返すdate属性のアクセサー:
テストモデル内
Test.php
public function getDateAttribute($value)
{
return Carbon::createFromFormat('Y-m-d H', $value)->format('m');
}
ただし、これはあらゆる場所のコードに影響します。
- 2番目の方法は、カスタム属性を作成することです。
public function getFormattedDateAttribute()
{
return Carbon::createFromFormat('Y-m-d H', $this->date)->format('m');
}
- 3番目の方法は、コレクション自体を編集することです。
$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');
});