我有一个使用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') }}
参考
我收到这个错误
“缺少[Route:test] [URI:test]所需的参数。”
*我已经移动了命名空间,试图不要多次扩展控制器等等,我只是在追逐我的尾巴。请指教。
你也需要传递域名:
{{ route('test', ['domain' => 'some_domain']) }}
另外,将方法更改为:
public function test($domain) {
return view('org.test');
}