对“d-m-Y”格式的值位于两个日期之间的行中的列值求和[重复]

问题描述 投票:0回答:1

我想获得每周总收入,但我有

null
回报值。

这是我的模型方法:

public function getDataPenjualanWeekly() 
{
    $date_start = strtotime('last Sunday'); 
    $week_start = date('d-m-Y', $date_start); // 31-12-2023 (Sunday)
    $date_end = strtotime('next Sunday');
    $week_end = date('d-m-Y', $date_end); // 07-01-2024 (Sunday)

    return $this->db->table('penjualan')
    ->selectSum('total_laba_kotor', 'sumQuantities')
    ->where('tanggal_penjualan >=', $week_start)
    ->where('tanggal_penjualan <', $week_end)
    ->get()
    ->getRow()
    ->sumQuantities;
}

这是我的桌子:

这是我转储数据时的结果:

我的逻辑有问题吗?

php sql codeigniter date-range codeigniter-4
1个回答
0
投票

您显示的日期比较代码:

->where('tanggal_penjualan >=', $week_start) ...
仅当

tanggal_penjualan

 是数据库中的日期字段时,
才有效。您显示的数据的屏幕截图显示该列具有类似
02-01-2024
的值。

来自 MySQL 文档

MySQL 以“YYYY-MM-DD”格式检索并显示 DATE 值。

所以看起来

tanggal_penjualan
不是日期列,并且像您的代码使用的日期比较将不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.