如何创建自定义分页链接?

时间:2017-01-31 09:29:45

标签: laravel laravel-5 laravel-5.2

现在我在分页上有这个链接:

www.test.com/search/filter?page=1

www.test.com/search/filter?page=2

我想要的是这个: www.test.com/search?search=&page=2等等

现在我有了这个:

{!! $properties->appends(['toggle' => Request::get('toggle'), 'search' => Request::get('search')])->render() !!}

我怎样才能将此更改为具有我想要的路线?

我发现了这个:

Route::get('users', function () {
    $users = App\User::paginate(15);

    $users->setPath('custom/url');

    //
});

但问题是我使用一个函数来处理多个东西,所以我无法在控制器中设置路径。

1 个答案:

答案 0 :(得分:1)

您可以像这样保留现有的查询。您可以在控制器中定义一个功能

public function getExistingQueryParams()
{
    $existingQueryParams = [];

    foreach (request()->all() as $key => $value)
    {
        if ($key != 'page')
        {
            $existingQueryParams[$key] = urldecode($value);
        }
    }

    return $existingQueryParams;
}

在您的控制器函数中返回视图调用此函数。

$existingQuery = $this->getExistingQueryParams();

在您的视图中传递此变量,您可以在视图中使用它

{{ $propertiers->appends($existingQuery)->links() }}