Php 在控制器动作之前,是否有办法访问Laravel路线参数?
我正在使用Laravel4编写一个api,其中URL的一部分将决定从哪个数据库中提取数据。将有大量数据库,每个数据库都具有相同的架构,例如:Php 在控制器动作之前,是否有办法访问Laravel路线参数?,php,laravel,laravel-4,routing,Php,Laravel,Laravel 4,Routing,我正在使用Laravel4编写一个api,其中URL的一部分将决定从哪个数据库中提取数据。将有大量数据库,每个数据库都具有相同的架构,例如: mystuff_arizona mystuff_florida ... 这是给定的(我必须满足的要求) 因此,以下URL(通过id“显示”资源) 可以使用相同的控制器,但我需要在Laravel中添加一些代码(在基本控制器或“before”函数中),以根据URL设置正确的数据库连接 我一直在做这样的事情: Route::group(['prefix' =&
mystuff_arizona
mystuff_florida
...
这是给定的(我必须满足的要求)
因此,以下URL(通过id“显示”资源)
可以使用相同的控制器,但我需要在Laravel中添加一些代码(在基本控制器或“before”函数中),以根据URL设置正确的数据库连接
我一直在做这样的事情:
Route::group(['prefix' => '{state}/api'], function($state=null)
{
Route::group(['prefix' => 'v1'], function()
{
Route::resource('items', 'ItemsController');
});
});
但是,在我的控制器中,我需要将$state参数添加到show()方法中,尽管我不打算在那里使用它
//public function show($state,$id) // <<-- this works
public function show($id) // <<-- this fails
{
$record = Item::findOrFail($id);
return Response::json( $record->toArray()) );
}
//公共函数show($state,$id)//您可以使用路由筛选器
Route::filter('name', function()
{
$routeParameters = Route::getCurrentRoute()->getParameters();
$state = $routeParameters['state'];
Route::getCurrentRoute()->setParameters($routeParameters);
// Do something with $state
});
您可以使用路由筛选器
Route::filter('name', function()
{
$routeParameters = Route::getCurrentRoute()->getParameters();
$state = $routeParameters['state'];
Route::getCurrentRoute()->setParameters($routeParameters);
// Do something with $state
});
您可以使用路由筛选器
Route::filter('name', function()
{
$routeParameters = Route::getCurrentRoute()->getParameters();
$state = $routeParameters['state'];
Route::getCurrentRoute()->setParameters($routeParameters);
// Do something with $state
});
您可以使用路由筛选器
Route::filter('name', function()
{
$routeParameters = Route::getCurrentRoute()->getParameters();
$state = $routeParameters['state'];
Route::getCurrentRoute()->setParameters($routeParameters);
// Do something with $state
});