【发布时间】:2018-03-02 22:21:01
【问题描述】:
我有一个组使用 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 扩展控制器)
我的功能
public function test() { return view('org.test'); }
调用../views/org/test.blade.php中的刀片文件
在这个文件中我尝试有一个{{ route('test') }} 参考
我收到此错误
“缺少 [Route: test] [URI: test] 所需的参数。”
*我已经移动了命名空间,尝试不多次扩展控制器,等等,我只是在追逐我的尾巴。请指教。
【问题讨论】:
-
你能显示
php artisan route:list的输出吗? -
还要注意
domain组中的路由会得到一个额外的参数。如果您的测试路由在组内,它需要处理它正在通过的域,即public function test($domain)。 laravel.com/docs/5.6/routing#route-group-sub-domain-routing -
@ceejayoz | {域名} |得到|头|测试 |测试 |应用\Http\Controllers\Org\OrgBaseController@test |网站,关闭 | | {域名} |得到|头|查看 |查看 |应用\Http\Controllers\Org\OrgBaseController@view |网络,关闭 |
标签: laravel laravel-5 laravel-5.5