如何从数据库中获取所有表名并对其进行分页
Posted
技术标签:
【中文标题】如何从数据库中获取所有表名并对其进行分页【英文标题】:How to get all table names from db and paginate them 【发布时间】:2019-11-13 18:43:29 【问题描述】:尝试对DB::select('SHOW TABLES')->paginate(1);
进行分页,但出现错误Call to a member function paginate() on array
。如何获取所有表格并对其进行分页?
【问题讨论】:
把它变成一个集合然后分页 我是 laravel 新手,我知道的东西很少,但不知道如何混合使用 你能告诉我吗 查看官方文档以获取集合laravel.com/docs/5.8/collections 【参考方案1】:由于您可以使用\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;
【讨论】:
以上是关于如何从数据库中获取所有表名并对其进行分页的主要内容,如果未能解决你的问题,请参考以下文章