无法在DB :: raw中以完整的日期时间(Y-m-d H:i:s)传递完整的日期时间

时间:2017-03-08 10:38:17

标签: eloquent laravel-5.2

$shop=DB::table('shops')
                    ->leftJoin('orderbookings',function($join)
                {
                    $join->on('shops.id','=','orderbookings.shop_id');
                    $join->on('orderbookings.created_at','>=',DB::raw(date("Y-m-d",strtotime("now"))));
                })
                    ->select('shops.*')
                    ->selectRaw('COUNT(orderbookings.id) as totalorder, SUM(orderbookings.grand_total) as gtotal')
                    ->orderBy('shops.shop_name', 'asc')
                    ->groupby('shops.id')
                    ->paginate(10);

以上代码工作正常(但不给总订单和数量正确),并且结果几乎接近我想要的结果, 但是我无法给出日期格式(Y-m-d H:i:s),它显示语法错误。我使用的是Laravel 5.2版本 注意:我想给时间以及日期来纠正结果, 给出[例如:2017-03-08 11:15:00]显示语法错误

在mysql中工作查询 SELECT COUNT(orderbookings.id), SUM(orderbookings.grand_total), shops.shop_name FROM {商店{1}} 但无法以雄辩的方式进行转换

1 个答案:

答案 0 :(得分:0)

您应该能够执行以下操作:

$join->on('orderbookings.created_at', '>=', date("Y-m-d"));

您不需要使用DB::raw,并且为null留下第二个参数date,会假设为"now"

如果这不能解决您的问题,请发布您看到的确切错误。