作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
早些时候,我正在研究如何将图表中的数据从 Controller 显示到前端本身。现在我明白了,我需要在图表中显示当月的所有天,因为我可以在图表中显示数据,因为当前的解决方案尚未完成。
我使用表中的 created_at
列作为日期基础并对其进行了格式化。您可以在查询中显示..
我的查询是这样的
public function getGraph(){
$ext = \DB::table('checkers')
->where('remarks_id',2)
->join('schedules','schedules.id','=','checkers.schedule_id')
->join('teachers','schedules.teacher_id','=','teachers.id')
->where('schedules.teacher_id',1)
->count();
$date = \DB::table('checkers')
->where('remarks_id',2)
->select(\DB::raw("COUNT(checkers.id) `value` "), \DB::raw("DATE_FORMAT(checkers.created_at, '%M %d, %Y') label "))
->join('schedules','schedules.id','=','checkers.schedule_id')
->join('teachers','schedules.teacher_id','=','teachers.id')
->where('schedules.teacher_id',1)
->groupBy('label')
->get();
return response()->json([
'count' => $ext,
'date' => $date
]);
}
我的json是
{
"count": 4,
"date": [
{
"value": 1,
"label": "January 21, 2020"
},
{
"value": 3,
"label": "January 23, 2020"
}
]
}
图中有空格。我想要做的是根据我的查询用当前月份的日期填充图表。这可能吗?我顺便使用了 fusioncharts 和 vue。
最佳答案
将日期
添加到您的查询选择中:
$date = \DB::table('checkers')
->select(
\DB::raw("COUNT(checkers.id) `value`"),
\DB::raw("DATE_FORMAT(checkers.created_at, '%M %d, %Y') label")
\DB::raw("DATE_FORMAT(checkers.created_at, '%d') day")
)
//...
->get();
我们需要天
才能合并。
然后使用 CarbonPeriod
以您所需的格式获取当月的所有日期,并与查询结果合并:
$daysOfMonth = collect(
\Carbon\CarbonPeriod::create(
now()->startOfMonth(),
now()->endOfMonth()
))
->map(function ($date) {
return [
'value' => 0,
'label' => $date->format('F d, Y'),
'day' => $date->format('d')
];
})
->keyBy('day')
->merge(
$date->keyBy('day')
)
->sortKeys()
->values();
关于javascript - 如何使用 Laravel 在图表中显示当月的所有天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59864586/
似乎无法找到答案 - 所以我想我会试一试。 我已经阅读了几个关于如何检测背景事件点击的答案。如:Detect click on background event 然而,我发现当两个或更多背景事件位于同
我在处理插入日期时间值时遇到了一个奇怪的问题。它发生在插入 DATETIME 或 TIMESTAMP 类型的列时,以及使用 STR_TO_DATE 函数时。 当月份、日期、小时或分钟为数字 8 或 9
我是一名优秀的程序员,十分优秀!