php - 如何仅在 laravel whereBetween() 上查询日期部分

标签 php mysql laravel-4

你好,

我对如何在仅评估日期部分而忽略时间部分的情况下对 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 = 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 Am 到 2015-05-01 00:00:01 am 的所有交易 如果您想包括 2015-05-01 的所有交易,请使用此代码作为结束时间

$endDate = Carbon::createFromFormat('Y-m-d H:i:s','2015-05-1' . '23:59:59');

关于php - 如何仅在 laravel whereBetween() 上查询日期部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30396629/

相关文章:

mysql - 拉维尔 : Bulk Insert Other and Ignore Error Exception Duplication

javascript - 新的 mysql 条目自动刷新

laravel - 如何在 Laravel 4 中将路由值传递给 Controller ​​?

Laravel:多次使用不同位置的查询

php - Symfony2 将路由定义为 Controller 中的注释

php - PHP 中的异步请求

php - 如何仅序列化一对多关系的子集?

MYSQL INSERT 从 INNER JOIN 获取数据

php - Laravel 4.2 无法正确渲染 Blade View

php - 如何在php中获取Web服务器的可用空间?