【问题标题】:How to get date difference for date column against current date in Laravel?如何在 Laravel 中获取日期列与当前日期的日期差异?
【发布时间】:2019-08-11 01:13:08
【问题描述】:

我想添加所有的 loan_amort 值,其中 schedule is <= 30 天数是从当前日期减去日程表的时间。我该怎么做?这是我的示例代码。我无法弄清楚whereRaw 部分。请帮忙。谢谢。

$totalDues = Amortization::select('loan_type', \DB::raw('SUM(loan_amortization) as total_current'))
                            ->where('payment_status',0)
                            ->whereRaw('date_diff(schedule,now()) <= 30')
                            ->groupBy('loan_type')
                            ->orderBy('loan_type')
                            ->get();

【问题讨论】:

    标签: postgresql eloquent laravel-5.7


    【解决方案1】:
    with td  as
       ( select  generate_series( now(), now()+interval '35 day', '1 day')  schedule )
    select date_part('day',schedule-now()) diff;
    

    我猜你会翻译成

    ->whereRaw('date_part(''day'',schedule-now() <= 30')
    

    【讨论】:

    • 您好,插入后返回语法错误,意外''day'' (T_CONSTANT_ENCAPSED_STRING),期待',' or ')'
    • “select date_part('day',schedule-now()) diff”部分有效。参数 day 是 Postgres 的文字值,因此需要单引号 (')。然后,错误发生在我将其转换为框架内的 ->whereRaw 时。似乎我通过将 ('') 加倍来错误地转义了整个字符串中的单引号。我似乎不知道这是如何在您的框架内完成的。
    猜你喜欢
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 2015-03-22
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多