如何仅在 laravel whereBetween() 上查询日期部分
How to query the Date part only on laravel whereBetween()
美好的一天,
我对如何在 laravel 的 whereBetween 函数上执行仅评估日期部分而忽略时间部分的查询感到困惑。
$startDate = '2015-04-31';
$endDate = '2015-05-01';
$totalDebit = DB::table('x_general_transactions_details')
->whereBetween('date_at', array($startDate,$endDate))
->where('account_xid',$account->xid)
->sum('debit');
这里的问题是 '2015-05-01' 中的所有交易都没有被包括在内,因为它的时间不是 00:00:00 这就是为什么要获得 '2015-05-01' 的交易' 我必须将一天添加到我的 $endDate
变量中。
为您的约会添加时间,这将为您节省一天时间。
$startDate = '2015-04-31 00:00:00';
$endDate = '2015-05-01 23:59:59';
试试这个:
$startDate = Carbon::createFromFormat('Y-m-d','2015-04-31');
$endDate = Carbon::createFromFormat('Y-m-d','2015-05-1');
$totalDebit = DB::table('x_general_transactions_details')
->whereBetween('date_at', array($startDate,$endDate))
->where('account_xid',$account->xid)
->sum('debit');
此代码计算从 2015-04-31 00:00:01 上午到 2015-05-01 00:00:01 上午的所有交易
如果您想包括 2015-05-01 的所有交易,请使用此代码作为结束时间
$endDate = Carbon::createFromFormat('Y-m-d H:i:s','2015-05-1' . '23:59:59');
我个人会将数据库字段转换为日期:
$totalDebit = DB::table('x_general_transactions_details')
->whereBetween(DB::raw('DATE(date_at)'), array($startDate,$endDate))
^^^^^^^^^^^^^^^^^^^^^^^^
->where('account_xid',$account->xid)
->sum('debit');
美好的一天,
我对如何在 laravel 的 whereBetween 函数上执行仅评估日期部分而忽略时间部分的查询感到困惑。
$startDate = '2015-04-31';
$endDate = '2015-05-01';
$totalDebit = DB::table('x_general_transactions_details')
->whereBetween('date_at', array($startDate,$endDate))
->where('account_xid',$account->xid)
->sum('debit');
这里的问题是 '2015-05-01' 中的所有交易都没有被包括在内,因为它的时间不是 00:00:00 这就是为什么要获得 '2015-05-01' 的交易' 我必须将一天添加到我的 $endDate
变量中。
为您的约会添加时间,这将为您节省一天时间。
$startDate = '2015-04-31 00:00:00';
$endDate = '2015-05-01 23:59:59';
试试这个:
$startDate = Carbon::createFromFormat('Y-m-d','2015-04-31');
$endDate = Carbon::createFromFormat('Y-m-d','2015-05-1');
$totalDebit = DB::table('x_general_transactions_details')
->whereBetween('date_at', array($startDate,$endDate))
->where('account_xid',$account->xid)
->sum('debit');
此代码计算从 2015-04-31 00:00:01 上午到 2015-05-01 00:00:01 上午的所有交易 如果您想包括 2015-05-01 的所有交易,请使用此代码作为结束时间
$endDate = Carbon::createFromFormat('Y-m-d H:i:s','2015-05-1' . '23:59:59');
我个人会将数据库字段转换为日期:
$totalDebit = DB::table('x_general_transactions_details')
->whereBetween(DB::raw('DATE(date_at)'), array($startDate,$endDate))
^^^^^^^^^^^^^^^^^^^^^^^^
->where('account_xid',$account->xid)
->sum('debit');