Как удалить параметр из URL в laravel 5.2 - PullRequest
0 голосов
/ 26 апреля 2020

Как я могу удалить параметры из URL после обработки в моем контроллере? Как этот:

mydomain/mypage?filter%5Bstatus_id%5D

до

mydomain/mypage

Я хочу удалить параметры после ?, затем я хочу использовать новый URL в моем файле просмотра. Возможно ли это в laravel 5.2? Я пытался использовать другие подходы, но, к сожалению, они не работают должным образом. Я также хочу включить мои данные в мой файл просмотра. Существующая функциональность выглядит следующим образом:

   public function processData(IndexRequest $request){
      //process data and other checkings

      return view('admin.index')
            ->with([
                'data'   => $data,
                'person' => $persons,
            ]);
   }

Я хочу, чтобы она была такой:

    public function processData(IndexRequest $request){
      //process data and other checkings

      // when checking the full url is 
      // mydomain/mypage?filter%5Bstatus_id%5D
      // then I want to remove the parameters after the question mark which can be done by doing
      // request()->url()
      // And now I want to change the currently used url using the request()->url() data
      return view('admin.index')
            ->with([
                'data'   => $data,
                'person' => $persons,
            ]);
   }

Я застрял здесь уже несколько дней. Любые вклады приветствуются.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020
public function processData(IndexRequest $request){
  $url_with_parameters = $request()->url();
   $url= explode("?", $url_with_parameters );

   //avoid redirect loop
   if (isset($url[1])){
   return URL::to($url[0]);
   }
   else{
   return view('admin.index')
            ->with(['data' => $data,
           'person' =>$persons,]);
}
}

добавьте новый URL к вашим маршрутам и, если он будет указывать на SomeController@SomeMethod, SomeMethod должен выглядеть примерно так:

public function SomeMethod(){
    // get $data and $persons

    return view('admin.index')
            ->with(['data' => $data,
           'person' =>$persons,]);
}

Надеюсь, это поможет

0 голосов
/ 26 апреля 2020

Вы можете использовать request()->url(), он вернет URL без параметров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...