【发布时间】:2013-12-14 09:20:48
【问题描述】:
我有以下路线:
Route::controller('/boards', 'BoardController');
响应以下路由:
/boards -> function: getIndex()
/boards/board/Some-board-Alias -> function: getBoard()
我想做的是——当我进入以下路线时:
/boards/board/Some-board-Alias/items
会执行“BoardItemController”,函数:getItem()
我试着做这样的事情:
Route::controller('/boards/board/{board_alias}/items', 'BoardItemController');
但是当我进入以下路线时:
/boards/board/Some-board-Alias/items
它显示的内容来自:
/boards/board/Some-board-Alias
看起来它将“项目”视为参数而不是路线的一部分。 有没有办法为子路由使用另一个控制器?
只是为了明确路线:
/boards/board/Some-board-Alias
应该访问 BoardController@getBoard(使用 Route::controller)
/boards/board/some-board-Alias/items
应该访问 BoardItemController@getIndex(使用 Route::controller) 还有:
/boards/board/some-board-alias/items/item/123
应该访问 BoardItemController@getItem($id)(使用 Route::controller)
【问题讨论】:
-
如果您映射呼叫将非常容易。没有它,代码将永远是非常肮脏和不可靠的。 (如果您将来更改某些内容,可能会很头疼)。
-
映射调用是什么意思?
标签: php laravel laravel-routing