如何从数据库获取所有表名并对其进行分页

时间:2019-07-03 06:13:36

标签: eloquent laravel-query-builder laravel-pagination

尝试对DB::select('SHOW TABLES')->paginate(1);进行分页,但出现错误Call to a member function paginate() on array。如何获取所有表格并进行分页?

1 个答案:

答案 0 :(得分:0)

由于您可以使用\DB:select进行查询,因此它将响应数组而不是集合。因此,您无法从中进行分页。

在这种情况下,您可以使用LengthAwarePaginator,请参见以下代码:

$sql .= 'SHOW TABLES LIMIT ' . $offset . ', ' . $limit; 

$result = \DB::select(\DB::raw($sql));
$myPaginator = new \Illuminate\Pagination\LengthAwarePaginator($result, $data['count'], $limit, $page, ['path' => action('MyController@index')]);
$data['result'] = $result;