"event_date"という列があるデータベースからこのコレクションを取得しています。laravel carbonコレクションの日付列から曜日名を取得する
私が欲しいのは、コレクションに入っているその列から唯一の曜日の名前を取得することです。
Carbonを使用して、たとえば->format()
という名前の日を取得することができますが、このメソッドが存在しないというエラーが表示されます。次のように
これまでの私のコードは次のとおりです。
$collection = MyModel::all();
インサイド「EVENT_DATE」プロパティまたは列があります。それで、配列やコレクションに入れる日の名前を取得し、最終的にその日の頻度を数えたいと思います。私は次のことを試してみました、これを達成するために
:
次のように私は->pluck()
方法を試してみました:次のように
$filtered = collect([
'myDates'=>$collection->pluck('event_date'),
]);
そしてdd($filtered)
は、次のようになります。
Collection {#209 ▼
#items: array:1 [▼
"myDates" => Collection {#243 ▼
#items: array:30 [▼
0 => Carbon {#244 ▼
+"date": "2017-02-05 00:00:00.000000"
+"timezone_type": 3
+"timezone": "America/Mexico_City"
}
1 => Carbon {#218 ▼
+"date": "2017-01-15 00:00:00.000000"
+"timezone_type": 3
+"timezone": "America/Mexico_City"
}
2 => Carbon {#250 ▼
+"date": "2016-09-25 00:00:00.000000"
+"timezone_type": 3
+"timezone": "America/Mexico_City"
}
3 => Carbon {#249 ▼
+"date": "2016-05-22 00:00:00.000000"
+"timezone_type": 3
+"timezone": "America/Mexico_City"
}
...
私は次のように曜日名を取得しようとしました:
$Daynames = $filtered->each(function($item,$key){
return $item->myDates->format('l');
});
しかし、私は、次のエラーを得た:
Undefined property: Illuminate\Support\Collection::$myDates
任意のアイデアが配列またはコレクションにのみDAYNAMESを取得するには?これを行う別の方法がありますか?
ナイス!しかし、なぜ私は '$ Daynames'を空にしますか? '$ date-> format( 'l')のそれぞれをエコーすると、私はその日の名前を見ることができます。しかし配列は空に見えます。私は 'use($ Daynames)'と 'return $ Daynames;'を試しましたが、どちらもうまくいきませんでした。 – Pathros