在第 1 页的 ->limit() 之后添加 ->offset(0)。下一页:偏移 + 限制,上一页:偏移 - 限制。
假设 $page 第一页为 1,第二页为 2:
$offset = 20 * ($page??1 - 1)
$searchdata = Searchy::search('snippets')->fields('snippets_name', 'seo_description','snippets_description','snippet_tags')->query($str)
->getQuery()->limit(20)->offset($offset)->get();
更新:
如果你想使用分页查询生成器:
$str = preg_replace('/[^A-Za-z0-9\. -]/', '', $query);
$searchdata = Searchy::search('snippets')
->fields('snippets_name', 'seo_description','snippets_description','snippet_tags')
->query($str)
->getQuery()
->paginate(20);
在视图中
@foreach($searchdata as $data)
// show data
@endforeach
{{ $searchdata->links() }}
网址:
你的网址/1
你的网址/2
你的网址/3
...
但是如果你想使用查询限制:
public function your_function_page($page=1) {
$limit = 20;
$offset = $limit * ( $page > 0 ? $page - 1 : 0 );
$str = preg_replace('/[^A-Za-z0-9\. -]/', '', $query);
$query = Searchy::search('snippets')->fields('snippets_name', 'seo_description','snippets_description','snippet_tags')
->query($str);
$searchdata = $query->getQuery()
->limit($limit)
->offset($offset)
->get();
$total_data = $query->get()
->count();
$total_page = ceil( $total_data / $limit );
$link_pagination = 'url';
$pagination = collect();
for ($i=0; $i < $total_page ; $i++) {
$numb = $i + 1;
$link = $link_pagination . '/' . $numb;
$pagination[] = '<a href="' . $link . '">' . $numb . '</a>';
}
$pagination = $pagination->join(" ");
return view('your_page_data')
->with('searchdata', $searchdata)
->with('pagination', $pagination);
}
在视图中:
@foreach($searchdata as $data)
// show data
@endforeach
{{ $pagination }}
网址:
你的网址/1
你的网址/2
你的网址/3
...