【问题标题】:Laravel array paginationLaravel 数组分页
【发布时间】:2021-03-09 00:56:40
【问题描述】:

我正在对研究页面的结果进行分页。代码有两页。

  1. 指向带有搜索表单的页面的索引页面。

  2. 第二页是应该显示输出的结果页。我希望结果显示在页面中。我的代码是: 在搜索功能中输出这是代码

$final_list = $this->paginate($final_list,5);

return view('results',['list' => $final_list]);

分页功能是:

public function paginate($items, $perPage = 5,  $page = null, $options = [])

{

   $page =  $page ?: (Paginator::resolveCurrentPage() ?: 1);

   $items = $items instanceof Collection ? $items : Collection::make($items);

   return new LengthAwarePaginator($items->forPage($page, $perPage), $items->count(), $perPage, page, 
   $options);

}

在结果页面中我显示数据并添加{!! $list->links() !!} 以获取页面。

代码显示第一页的输出。我面临的问题是,当我单击第二个页面或任何其他页面时,它会将我定向到索引页面,在显示该页面的结果之前,我必须再次填写搜索表单。 我不明白这段代码有什么问题。请你帮助我好吗。谢谢

【问题讨论】:

    标签: laravel pagination


    【解决方案1】:

    您需要将搜索过滤器数据附加到主数据数组。

    $detail_data->appends(['keyword' => $keyword]);

    我分享控制器的示例代码

        $keyword = $request->keyword;
        $deals = Deal::join('category','category.id','=','deals.deal_category_id')
                    ->join('users','users.id','=','deals.user_id')
                    ->select('deals.*', 'category.cat_name', 'users.name AS username', 'users.profile_photo_path')
                    ->where('deal_isApproved', '=', 'Approved');
        $deals->where(function($query) use ($keyword) {
                $query->where('deal_title', 'like', '%'.$keyword.'%')
                    ->orWhere('category.cat_name', 'like', '%'.$keyword.'%');
        });
        $detail_data = $deals->paginate(20);
        $detail_data->appends(['keyword' => $keyword]);
    

    I刀片模板文件

    {{ $detail_data->links() }}
    

    【讨论】:

    • 谢谢 Harsh,但是,我尝试了这个,但没有任何改变。点击下一页后,我仍然返回搜索表单。基本上我有四个集合,其中包含来自不同查询的数据($data1、$data2、$data3 和 $data4),$final_list 是这些集合的合并,它是我想要分页的那个。我尝试了 appends(['keyword' => $keyword]);但没有任何改变我仍然遇到同样的问题。
    猜你喜欢
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 2020-02-27
    • 1970-01-01
    相关资源
    最近更新 更多