我有一个类似以下的查询,它按预期运行。我在这里使用了havingRaw
选项来过滤结果。
$customers = Customer::select(DB::raw("`name`, `mobile`, `branch`, count(*) as total_orders"))
->groupBy('mobile')
->havingRaw('total_orders > 12')
->orderBy('total_orders', 'desc')
->get();
由于返回的行总数会有所不同,因此我需要将其显示为分页。所以我更改了查询,如下所示。然后显示错误,提示找不到total_orders
列。
$customers = Customer::select(DB::raw("`name`, `mobile`, `branch`, count(*) as total_orders"))
->groupBy('mobile')
->havingRaw('total_orders > 12')
->orderBy('total_orders', 'desc')
->paginate();
我发现了Laravel早期版本的一些解决方法。我在我的项目中使用Laravel 5.6,对此有什么解决方案吗?
答案 0 :(得分:0)
尝试一下。
$customers = Customer::select(DB::raw("`name`, `mobile`, `branch`, count(*) as
total_orders"))
->groupBy('mobile')
->having('total_orders','>', 12)
->orderBy('total_orders', 'desc')->get();