MySQL具有一项功能,可以获取查询返回的记录总数,没有限制,即SQL_CALC_FOUND_ROWS。 Laravel支持吗?

目前,我必须在两个查询中执行此操作:

public function dataTable() {
    $bookings = DB::table('bookings')
        ->limit(Input::query('iDisplayLength'))
        ->offset(Input::query('iDisplayStart'))
        ->get();
    $count = $bookings = DB::table('bookings')
        ->count();
    return Response::json([
        'iTotalRecords' => $count,
    ]);
}

这不仅会降低效率,而且一旦我添加了所有->where()标准,就会有很多冗余代码。

最佳答案

对于任何复杂的或特定于供应商的查询,通常必须直接使用DB::raw()传递查询,例如:

$bookings = DB::table('bookings')
    ->select(DB::raw('SQL_CALC_ROWS_FOUND ...

关于php - 获取Laravel的记录总数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22748084/

10-11 02:22