Oracle 阿皮拉韦尔酒店

Oracle 阿皮拉韦尔酒店,oracle,api,laravel,pagination,Oracle,Api,Laravel,Pagination,我正在Laravel中构建一个API,它对Oracle数据库执行以下操作: 从表a中选择* 以下是API代码: $response = []; try { $response['status'] = 200; $response['message'] = 'ok'; $response['parameters'] = []; $obj = DB::select("SELECT * FROM table_a");

我正在Laravel中构建一个API,它对Oracle数据库执行以下操作:

从表a中选择*

以下是API代码:

$response = [];
try {
    $response['status']     = 200;
    $response['message']    = 'ok';
    $response['parameters'] = [];
    $obj                    = DB::select("SELECT * FROM table_a");
    if (!empty($obj) && count($obj)) {
        $response['result'] = $obj;
    }
    else {
        $response['result'] = 'Requested data not found';
    }
}
catch (\Exception $e) {
    $response['status']     = 400;
    $response['message']    = 'ok';
    $response['parameters'] = [];
    $response['result']     = 'Sorry! bad request';
}

return response()->json($response);

表a有超过3000万条记录。我需要对API结果进行分页。我无法每次统计表记录,因为执行计数查询需要几分钟的时间。我如何才能有效地获取它?

您可以使用将结果分页。Laravel提供的
paginate
方法自动根据用户查看的当前页面设置适当的限制和偏移量。默认情况下,当前页面由HTTP请求上的
?page
查询字符串参数的值检测

在本例中,让我们指定希望每页显示
15
项:

namespace App\Http\Controllers;

use DB;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
    /**
     * Show all of the users for the application.
     *
     * @return Response
     */
    public function index()
    {
        $users = DB::table('users')->paginate(15);

        return view('user.index', ['users' => $users]);
    }
}

您可以使用将结果分页。Laravel提供的
paginate
方法自动根据用户查看的当前页面设置适当的限制和偏移量。默认情况下,当前页面由HTTP请求上的
?page
查询字符串参数的值检测

在本例中,让我们指定希望每页显示
15
项:

namespace App\Http\Controllers;

use DB;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
    /**
     * Show all of the users for the application.
     *
     * @return Response
     */
    public function index()
    {
        $users = DB::table('users')->paginate(15);

        return view('user.index', ['users' => $users]);
    }
}
我需要使用Oracle表,因此它将在Oracle级别使用存储过程。这不是一个普通的表。我需要使用Oracle表,所以它将使用Oracle级别的存储过程。这不是一张普通的桌子。