Oracle 阿皮拉韦尔酒店
我正在Laravel中构建一个API,它对Oracle数据库执行以下操作: 从表a中选择* 以下是API代码: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");
$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级别的存储过程。这不是一张普通的桌子。