我有一个使用WEB中间件的组(如默认),但有自己的routes/org.php
文件;
来自RouteServiceProvider.php:
protected function mapWebRoutes()
{
// Match my own domain FIRST
Route::group(['domain' => 'a.example','www.a.example', 'admin.a.example'], function()
{
// Original Web Route
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
});
// Match any other domains or subdomains
Route::group(['domain' => '{domain}'], function()
{
// Org middleware
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/org.php'));
});
}
```
routes/org.php
中的我有Route::get('/test', 'OrgTestCtrlr@test')->name('test');
有关信息:
OrgTestCtrlr extends OrgBaseCtrlr
..
OrgBaseCtrlr extends Controller
(默认的laravel控制器)
(所以基本上OrgTest扩展了OrgBase扩展Controller)
我的功能
public function test() { return view('org.test'); }
在../views/org/test.blade.php
在此文件中,我尝试使用{{ route('test') }}
引用
我收到此错误
“缺少[路线:测试] [URI:测试]的必需参数。”
*我已经移动了命名空间,试图不要多次扩展控制器等等,我只是在追逐我的尾巴。请指教。
答案 0 :(得分:1)
您也需要传递域名:
{{ route('test', ['domain' => 'some_domain']) }}
另外,将方法更改为:
public function test($domain) {
return view('org.test');
}