【发布时间】:2015-06-27 11:34:06
【问题描述】:
我经营一个存储图像的网站,用户获得了热链接。
我希望能够在包含上传图像数据的表中查询过去 7 天的记录,仅提取 created_at 列,并将数据编译成数组,类似于为博客。
我希望结果显示如下:
[
'Sunday' => 5,
'Monday' => 45,
'Tuesday' => 452,
...
]
其中每个数字代表每天创建的记录数。只要能输出这样的数组,Javascript端就可以轻松搞定。
有人有什么建议吗?
编辑
这是我目前尝试过的代码:
<?php
class Admin
{
public function getCreatedAtAttribute($value)
{
$this->attributes['created_at'] = Carbon::createFromFormat('Y-m-d H:i:s', $value);
}
public static function uploadsGraph()
{
$date = \Carbon\Carbon::now();
$uploads = Upload::select('created_at')->where('created_at', '>=', \Carbon\Carbon::now()->subWeek())->get();
foreach($uploads as $date)
{
echo $date->created_at . '<br>';
}
}
}
编辑 2
这是我尝试过的另一个版本,但效果不佳。
class Admin
{
public static function uploadsGraph()
{
$date = \Carbon\Carbon::now();
$uploadsByDay = DB::table('uploads')
->select(DB::raw('
YEAR(created_at) year,
MONTH(created_at) month,
MONTHNAME(created_at) month_name
'))
->groupBy('year')
->groupBy('month')
->orderBy('year', 'desc')
->orderBy('month', 'desc')
->get();
dd($uploadsByDay);
}
}
【问题讨论】:
-
你试过了吗?你写过代码吗?我们不会创建您的代码。
-
你问的是如何查询数据,或者如何制作图表?
-
@Arjan96s 对不起,我已经包含了我目前尝试过的代码。
-
@watcher 我只想查询数据。 javascript部分我自己能搞清楚。
标签: php database laravel eloquent