Как передать несколько параметров $ _GET в blade-файле из разных тегов привязки в Laravel? - PullRequest
0 голосов
/ 04 октября 2019

До сих пор я передавал один параметр get из тега привязки следующим образом:

<a class="zone" href="{{route('home', ['zone' => 'europe'])}}">Europe</a>

Как передать другой, если я хочу объединить их оба? Если я сделаю: <a class="time" href="{{route('home', ['time' => 'today'])}}">Today</a>, то параметр зоны будет удален. Как передать оба параметра на один и тот же маршрут из тегов привязки, чтобы URL-адрес был таким https://example.com/?zone=europe&time=today?

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Вы можете добавить в массив столько параметров, сколько захотите, поэтому, если вам нужно добавить зону, просто обновите свой код следующим образом:

route('home', ['time' => 'today', 'zone' => 'europe'])

Помните, что вы можете иметь эти параметры как вопределение маршрута

Route::get('home/{time}/{zone}', 'YourController@yourMethod');

И определите свой контроллер следующим образом:

class YourController extends Controller {
   public function yourMethod(Request $request, $time, $zone) {
      dd($time) // 'today';
      dd($zone) // 'europe';
   }
}

Или вы можете просто получить их из запроса следующим образом:

// Route:
Route::get('home', 'YourController@yourMethod');

// Controller:
class YourController extends Controller {
   public function yourMethod(Request $request) {
      dd($request->time) // 'today';
      dd($request->zone) // 'europe';
   }
}
0 голосов
/ 04 октября 2019

Внутри определения вашего маршрута, передайте два параметра:

Route::get('/home/{zone}/{time}', 'Controller')

После этого передайте оба параметра в вашем представлении, где вы вызываете маршрут:

<a class="time" href="{{route('home', ['time' => 'today', 'zone'=>'europe'])}}">Today</a>
...