如何从Laravel中的不同锚标签传递刀片中的几个$ _GET参数?

时间:2019-10-04 08:18:27

标签: laravel laravel-5 laravel-blade

到目前为止,我已经从锚标记中传递了一个get参数,如下所示:

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

如果我想将两者结合使用,该如何通过?如果我这样做:<a class="time" href="{{route('home', ['time' => 'today'])}}">Today</a>将会删除zone参数。如何将两个参数从定位标记传递到同一路由,以使网址像这样https://example.com/?zone=europe&time=today

2 个答案:

答案 0 :(得分:0)

在您的路线定义中,传递两个参数:

    select t1.* from table_name t1
    where not exists ( select 1 from table_name t2 where t1.tickets_id=t2.tickets_id
                        and type=2
                     )

然后,在视图中传递这两个参数,并在其中调用路线:

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

答案 1 :(得分:0)

您可以在数组中添加任意数量的参数,因此,如果必须添加区域,只需按以下方式更新代码即可:

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