在 laravel 中的数组中添加日期名称格式
add day name format on array in laravel
我想把日期改成格式('l Y-m-d'),我的意思是在数组中添加日期名称,例如Friday 2022-04-01,是否可以在数组中添加日期名称它?日期还是2022-04-01的形式,如何添加日期名称?
当我 return 从 $holiday 得到这样的结果时
我的代码在index.blade.php
//to get date range from query start_date end_date
@php
$start_date = \Carbon\Carbon::parse(request()->query('start_date '))->format('Y-m-d');
$end_date = \Carbon\Carbon::parse(request()->query('end_date'))->format('Y-m-d');
$dateRangePeriod = \Carbon\CarbonPeriod::create($start_date , $end_date);
$dateRange = [];
foreach ($dateRangePeriod as $key => $date) {
$dateRange[] = $date->format('Y-m-d');
}
@endphp
@foreach ($dateRange as $key => $range)
@php
$holiday = array_filter(json_decode($company_holiday, true), function ($var) use ($range) {
return $var['date'] == $range;
});
$holiday = reset($holiday);
dd($holiday);
@endphp
@endforeach
我在控制器中的代码
$company_holiday = CompanyHoliday::where('company_holiday.company_id', $company_id)
->whereDateBetween('company_holiday.date', $date_start, $date_end)
->get();
您可以为此使用访问器
https://laravel.com/docs/8.x/eloquent-mutators#defining-an-accessor
// 在 CompanyHoliday 模型中
//define accessor
public function getDayNameAttribute()
{
return Carbon::parse($this->date)->format('l Y-m-d');
}
//get accessor in loop
$company_holiday->dayName
如果您希望 dayName 始终与 Holiday 一起使用,请在 CompanyHoliday 模型中使用 appends
属性
https://laravel.com/docs/8.x/eloquent-serialization#appending-values-to-json
protected $appends = ['day_name'];
在 blade 文件中进行更改。
@php
use Carbon\Carbon;
$range = '2022-04-01';
$date = Carbon::parse($range)->format('l Y-m-d'); // "Friday 2022-04-01"
@endphp
更多格式参考:Carbon Docs
我想把日期改成格式('l Y-m-d'),我的意思是在数组中添加日期名称,例如Friday 2022-04-01,是否可以在数组中添加日期名称它?日期还是2022-04-01的形式,如何添加日期名称? 当我 return 从 $holiday 得到这样的结果时
我的代码在index.blade.php
//to get date range from query start_date end_date
@php
$start_date = \Carbon\Carbon::parse(request()->query('start_date '))->format('Y-m-d');
$end_date = \Carbon\Carbon::parse(request()->query('end_date'))->format('Y-m-d');
$dateRangePeriod = \Carbon\CarbonPeriod::create($start_date , $end_date);
$dateRange = [];
foreach ($dateRangePeriod as $key => $date) {
$dateRange[] = $date->format('Y-m-d');
}
@endphp
@foreach ($dateRange as $key => $range)
@php
$holiday = array_filter(json_decode($company_holiday, true), function ($var) use ($range) {
return $var['date'] == $range;
});
$holiday = reset($holiday);
dd($holiday);
@endphp
@endforeach
我在控制器中的代码
$company_holiday = CompanyHoliday::where('company_holiday.company_id', $company_id)
->whereDateBetween('company_holiday.date', $date_start, $date_end)
->get();
您可以为此使用访问器
https://laravel.com/docs/8.x/eloquent-mutators#defining-an-accessor
// 在 CompanyHoliday 模型中
//define accessor
public function getDayNameAttribute()
{
return Carbon::parse($this->date)->format('l Y-m-d');
}
//get accessor in loop
$company_holiday->dayName
如果您希望 dayName 始终与 Holiday 一起使用,请在 CompanyHoliday 模型中使用 appends
属性
https://laravel.com/docs/8.x/eloquent-serialization#appending-values-to-json
protected $appends = ['day_name'];
在 blade 文件中进行更改。
@php
use Carbon\Carbon;
$range = '2022-04-01';
$date = Carbon::parse($range)->format('l Y-m-d'); // "Friday 2022-04-01"
@endphp
更多格式参考:Carbon Docs