У меня есть эта коллекция из базы данных, где у меня есть столбец с именем «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"
}
...
I попытались получить названия дней следующим образом:
$Daynames = $filtered->each(function($item,$key){
return $item->myDates->format('l');
});
Но я получил следующее сообщение об ошибке:
Undefined property: Illuminate\Support\Collection::$myDates
Любые идеи, чтобы получить только daynames в массив или коллекцию? Есть ли другой способ сделать это?
Ницца! Но почему я получаю '$ Daynames' пустым? Если я выхожу из каждого формата '$ date-> ('l')', я могу видеть имена дней. Но массив выглядит пустым. Я попробовал 'use ($ Daynames)' и 'return $ Daynames;' и он тоже не работает. – Pathros