合并Route ::组域Laravel 5

时间:2017-01-18 10:35:30

标签: laravel laravel-5 laravel-5.3

我的项目每周只需要API的新镜像域 为此,我在路径文件中为每个域添加Route::group

Route::group(['domain' => 'domain2.com'], function(){
    Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
        Route::get('/{hash}', 'ApiController@index');
    });
    Route::get('/', function(){
        return view('errors.noshort');
    });
});

Route::group(['domain' => 'domain1.com'], function(){
    Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
        Route::get('/{hash}', 'ApiController@index');
    });
    Route::get('/', function(){
        return view('errors.noshort');
    });
});
  1. 如何合并这两个Route::group和下一个?
  2. 我可以从我的数据库中获取所有域以动态地执行路由吗?

2 个答案:

答案 0 :(得分:1)

1链接您的域名:

$apiRoutes = function() {
    Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
        Route::get('/{hash}', 'ApiController@index');
    });
    Route::get('/', function(){
        return view('errors.noshort');
    });
};

Route::group(['domain' => 'domain2.com'], $apiRoutes);
Route::group(['domain' => 'domain1.com'], $apiRoutes);

2通过导入您的域名很难理解您的意思

答案 1 :(得分:1)

直接您无法将数组分配给domain。它只需要单个字符串参数。

你可以这样做。在您的数据库中分配Route::group商店,在route文件

中获取它

试试这个希望它有所帮助。

喜欢,

$domains = \App\Domain::all();

foreach ($domains as $domain) {
    Route::group(['domain' => $domain->domainName], function(){
        Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
        Route::get('/{hash}', 'ApiController@index');
        });
        Route::get('/', function(){
        return view('errors.noshort');
        });
    });
}