如何在 laravel&Vue 中对数据进行分页?
How can I paginate data in laravel&Vue?
我正在使用 laravel 和 vuejs 制作网站。
我使用复杂的 Eloquent 查询从数据库中获取数据,如下所示。
$query->with([
'deviceAssignment.deviceSetting.sim',
'deviceAssignment.deviceSetting.device.deviceType',
'deviceSignal',
'deviceAssignment.deviceSetting.deviceGroup',
'deviceAssignment.deviceSetting.company',
'deviceAssignment.deviceSetting.phones'])
->orderBy('created_at', 'desc')
->get();
我同时用了好几个表,那么这个数据量有点大,所以我想对这个数据进行分页。
我像这样将分页器放在 vue 组件的底部。
.......
<pager :items="histories" v-on:paginate="changePage" class="pager bottom_10 top_20 position_r"></pager>
而changePage函数如下;
methods: {
changePage: function(page){
location.href = "/history/setting?page=" + page;
},
在这种情况下,简单的,我把第一部分的get()函数改成paginate()来实现分页。
我说得对吗?
对于分页,使用 paginate(10)
函数而不是 get()
函数。
$query->with([
'deviceAssignment.deviceSetting.sim',
'deviceAssignment.deviceSetting.device.deviceType',
'deviceSignal',
'deviceAssignment.deviceSetting.deviceGroup',
'deviceAssignment.deviceSetting.company',
'deviceAssignment.deviceSetting.phones'])
->orderBy('created_at', 'desc')
->paginate(10);
https://laravel.com/docs/8.x/pagination#paginating-query-builder-results
https://laravel.com/docs/8.x/pagination#paginating-eloquent-results
我正在使用 laravel 和 vuejs 制作网站。 我使用复杂的 Eloquent 查询从数据库中获取数据,如下所示。
$query->with([
'deviceAssignment.deviceSetting.sim',
'deviceAssignment.deviceSetting.device.deviceType',
'deviceSignal',
'deviceAssignment.deviceSetting.deviceGroup',
'deviceAssignment.deviceSetting.company',
'deviceAssignment.deviceSetting.phones'])
->orderBy('created_at', 'desc')
->get();
我同时用了好几个表,那么这个数据量有点大,所以我想对这个数据进行分页。 我像这样将分页器放在 vue 组件的底部。
.......
<pager :items="histories" v-on:paginate="changePage" class="pager bottom_10 top_20 position_r"></pager>
而changePage函数如下;
methods: {
changePage: function(page){
location.href = "/history/setting?page=" + page;
},
在这种情况下,简单的,我把第一部分的get()函数改成paginate()来实现分页。 我说得对吗?
对于分页,使用 paginate(10)
函数而不是 get()
函数。
$query->with([
'deviceAssignment.deviceSetting.sim',
'deviceAssignment.deviceSetting.device.deviceType',
'deviceSignal',
'deviceAssignment.deviceSetting.deviceGroup',
'deviceAssignment.deviceSetting.company',
'deviceAssignment.deviceSetting.phones'])
->orderBy('created_at', 'desc')
->paginate(10);
https://laravel.com/docs/8.x/pagination#paginating-query-builder-results https://laravel.com/docs/8.x/pagination#paginating-eloquent-results