Php 警告:从url向控制器(laravel)传递参数时缺少参数1
我正在建设这个网站,我想把url参数传递给路由和从路由到控制器,我已经搜索了文档和谷歌,但我找不到解决我的问题的方法 这是一个示例urlPhp 警告:从url向控制器(laravel)传递参数时缺少参数1,php,laravel-4,Php,Laravel 4,我正在建设这个网站,我想把url参数传递给路由和从路由到控制器,我已经搜索了文档和谷歌,但我找不到解决我的问题的方法 这是一个示例url locations/search?q=parameter1 我现在的路线是这样的: Route::group(array('prefix'=>'search'),function() { Route::get('locations/{src?}','SearchController@locations',function($src = null
locations/search?q=parameter1
我现在的路线是这样的:
Route::group(array('prefix'=>'search'),function()
{
Route::get('locations/{src?}','SearchController@locations',function($src = null){});
});
class SearchController extends BaseController {
public function locations($src)
{
return json_encode($src);
}
}
Route::group(array('prefix'=>'locations'),function()
{
Route::get('search/{src?}','SearchController@locations',
function($src = null){
});
});
Route::group(array('prefix'=>'locations'),function()
{
Route::get('search','SearchController@locations');
});
我的控制器如下所示:
Route::group(array('prefix'=>'search'),function()
{
Route::get('locations/{src?}','SearchController@locations',function($src = null){});
});
class SearchController extends BaseController {
public function locations($src)
{
return json_encode($src);
}
}
Route::group(array('prefix'=>'locations'),function()
{
Route::get('search/{src?}','SearchController@locations',
function($src = null){
});
});
Route::group(array('prefix'=>'locations'),function()
{
Route::get('search','SearchController@locations');
});
我想知道的是如何将参数传递给控制器,我现在的代码返回这个错误
{“error”:{“type”:“ErrorException”,“message”:“SearchController::locations()”缺少参数1”,“file”:“C:\wamp\www\localsite\app\controllers\SearchController.php”,“line”:5}
提前感谢您您正在混合get参数和路由变量。。在该路径之后,您将得到类似于
search/locations/search/
的结果,其中第二个search
作为参数传递并分配给$src
选项1对于当前路线,您可以做的是
搜索/locations/parameter1
,以便将参数1传递到$src
选项2或者如果您需要更改路线以遵循
位置/search/parameter1
您的路线应如下所示:
Route::group(array('prefix'=>'search'),function()
{
Route::get('locations/{src?}','SearchController@locations',function($src = null){});
});
class SearchController extends BaseController {
public function locations($src)
{
return json_encode($src);
}
}
Route::group(array('prefix'=>'locations'),function()
{
Route::get('search/{src?}','SearchController@locations',
function($src = null){
});
});
Route::group(array('prefix'=>'locations'),function()
{
Route::get('search','SearchController@locations');
});
然后您可以使用locations/search/parameter1
但是如果您坚持使用get参数(locations/search?q=parameter1)
选项3您的路线应如下所示:
Route::group(array('prefix'=>'search'),function()
{
Route::get('locations/{src?}','SearchController@locations',function($src = null){});
});
class SearchController extends BaseController {
public function locations($src)
{
return json_encode($src);
}
}
Route::group(array('prefix'=>'locations'),function()
{
Route::get('search/{src?}','SearchController@locations',
function($src = null){
});
});
Route::group(array('prefix'=>'locations'),function()
{
Route::get('search','SearchController@locations');
});
和您的控制器:
class SearchController extends BaseController {
public function locations()
{
$src = Input::get('q');
return json_encode($src);
}
}
注意 如果要在路由上选择$src,请确保更改行
公共功能位置($src)
=>公共功能位置($src=null)