2017-01-31 11 views
0

Прямо сейчас у меня есть эта ссылка на постраничной:Как создать настраиваемую ссылку на страницы?

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'); 

    // 
}); 

Но проблема заключается в том, что я использую одну функцию для нескольких вещей, так что я не могу установить путь в контроллере.

+0

Какую версию Laravel вы используете? – PaladiN

ответ

1

Вы можете сохранить свой существующий запрос таким образом. вы можете определить одну функцию в вашем контроллере

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

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

    return $existingQueryParams; 
} 

В функции вашего контроллера, которая возвращает представление, вызывается эта функция.

$existingQuery = $this->getExistingQueryParams(); 

Pass этой переменной на ваш взгляд, и на ваш взгляд, вы можете использовать его как этот

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