PHP Laravel 按周从数据库获取数据

标签 php mysql laravel

你好,我有这个代码

  // Get all the days date of past month for performance report
    $start_date = date("Y-m", strtotime("previous month")) ."-01";
    $start_time = strtotime($start_date);

    $end_time_1 = strtotime("+1 week", $start_time);

    for($i=$start_time; $i<$end_time_1; $i+=86400)
    {
    $list1[] = date('D, d F Y', $i);
    }

    $end_time_2 = strtotime("+1 week", $end_time_1);

    for($i=$end_time_1; $i<$end_time_2; $i+=86400)
    {
    $list2[] = date('D, d F Y', $i);
    }

    $end_time_3 = strtotime("+1 week", $end_time_2);

    for($i=$end_time_2; $i<$end_time_3; $i+=86400)
    {
    $list3[] = date('D, d F Y', $i);
    }

    $end_time_4 = strtotime("+1 week", $end_time_3);

    for($i=$end_time_3; $i<$end_time_4; $i+=86400)
    {
    $list4[] = date('D, d F Y', $i);
    }

    $performance_week_1 = \DB::table('accounts')
    ->whereBetween('created_at', [$start_date, $end_time_1]) // get week 1
    ->get();
    $performance_week_2 = \DB::table('accounts')
    ->whereBetween('created_at', [$end_time_1, $end_time_2]) // get week 2
    ->get();
    $performance_week_3 = \DB::table('accounts')
    ->whereBetween('created_at', [$end_time_2, $end_time_3]) // get week 3
    ->get();
    $performance_week_4 = \DB::table('accounts')
    ->whereBetween('created_at', [$end_time_3, $end_time_4]) // get week 4
    ->get();

它的作用是获取过去一个月的所有日期 Report

问题是end_time_1返回

1549584000

我希望它返回 $start_time 返回的内容,但从本月开始+ 1 周

2019-02-08

这个想法是从上个月开始每周从数据库获取一些数据并将其发布到表中 非常感谢

最佳答案

您可以使用ADDDATE() mysql 函数,例如:

SELECT ADDDATE("2019-02-08", INTERVAL 7 DAY);

这将在日期上添加 7 天,这也可以是列的日期

PS。你应该使用 laravel 的 DB:raw() 函数来实现此目的

关于PHP Laravel 按周从数据库获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55217458/

相关文章:

php - 将 PHP 数组中的所有 int() 值相加

没有 header() 或 meta 的 PHP 重定向

mysql - 错误代码 : 23 Out of resources when opening file

php - Laravel 表单请求未更新可为空字段

laravel - Eloquent 做了很多查询

php - SSI/PHP exec 命令在发送回响应时终止,对吗?

php - 按列分组并排除一个值

php - 使用php更改数据库中数据的字体颜色

php - 当从数据库中获取值时,如何从保管箱中选择选项值?

php - 将参数传递给过滤器 - Laravel 4