首页 > 解决方案 > 返回日期列+天列<今天日期的结果

问题描述

这是我的详细问题我有一个发票表,其中包含日期和 payment_term 列。

date 是一个日期列 payment_term 是一个整数列,包含发票到期的天数。

我正在尝试在模型中做一个 selectRaw (胖模型,瘦控制器的东西)

public static function sumOfInvoiceOverdue() {
		return Invoice::selectRaw('SUM(net_amount - paid_amount) as overdueAmount')->whereDate('date'+'payment_term', '<', Carbon::now())->get();
	}

因此,如果我的发票日期为 4 月 1 日,并且应在 10 天内到期

1/4/2020 + 10 = 11/4/2020 如果现在大于 2020 年 11 月 4 日,则表示此发票已过期,因此应退回。

我的问题是,有可能做这样的事情吗?whereDate('date'+'payment_term', '<', carbon:now())

谢谢,我已经尽我所能去谷歌和搜索,但是这个问题的细节让我很难找到答案。

再次感谢,希望每个人都在这些艰难的时刻一切顺利。

编辑:这是我想在 SQL 中工作的结果。

SELECT sum(net_amount -paid_amount) FROM invoiceswhere date_add( date, INTERVAL payment_termDAY) < now()

我想,如果口才太麻烦,我可以退回到原始查询。

标签: laravel-5eloquent

解决方案


碰巧,问正确的问题将导致答案

在我自己的思想结构中提出一个好问题,它引导我得出以下答案。

    public static function sumOfInvoiceOverdue() {
    return Invoice::selectRaw('SUM(net_amount - paid_amount) as overdueAmount')->whereRaw('date_add(`date`, INTERVAL `payment_term` DAY) < now()')->get();
}

希望它在未来对其他人有所帮助。干杯


推荐阅读