如何使用GET方法将GET参数传递给Laravel?

我被困在这个我无法完成的非常基本的表单中,我想用文本输入和两个选择控件构建一个搜索表单,并带有一个接受3个参数的路由,这个问题是当我提交形式,它用问号而不是Laravel方式映射参数,

回答:

{{ Form::open(['route' => 'search', 'method' => 'GET'])}}

<input type="text" name="term"/>

<select name="category" id="">

<option value="auto">Auto</option>

<option value="moto">Moto</option>

</select>

{{ Form::submit('Send') }}

{{ Form::close() }}

回答:

    Route::get('/search/{category}/{term}', ['as' => 'search', 'uses' => 'SearchController@search']);

当我提交表格时,将我重定向到

search/%7Bcategory%7D/%7Bterm%7D?term=asdasd&category=auto

在没有Javascript的情况下,如何使用Laravel方式将这些参数传递给我的路线!:D

回答:

最简单的方法就是接受传入的请求,然后在Controller中提取所需的变量:

Route::get('search', ['as' => 'search', 'uses' => 'SearchController@search']);

然后在SearchController@search

class SearchController extends BaseController {

public function search()

{

$category = Input::get('category', 'default category');

$term = Input::get('term', false);

// do things with them...

}

}

有用的是,您可以设置默认值,Input::get()以防万一没有传递给Controller的操作。

如joe_archer所说,没有必要将这些术语放在URL中,它最好是POST(在这种情况下,您应该更新对它的调用,Form::open()并且还要在route.php中搜索路径-Input::get()保持不变)

以上是 如何使用GET方法将GET参数传递给Laravel? 的全部内容, 来源链接: utcz.com/qa/432482.html

回到顶部