【发布时间】:2020-06-13 02:33:04
【问题描述】:
我是 Laravel 的新手,我为我的路线做了这样的事情:
Route::get('/fundraisers/{id}', 'FundraiserController@index')->name('fundraisers.list');
Route::get('/{locale}/fundraisers/{id}', 'FundraiserController@indexLang')->name('fundraisers.list.lang')->where(['locale'=>$loc=['fr,'zh']);
然后我需要在我的控制器中使用两种方法:
index($id) {
// Load record by id and language == 'en'
}
indexLang($locale, $id) {
// Load record by id and language == $locale
}
我在别处读到,如果我希望英文 url 成为唯一不出现在 url 中的例外,则无法明确编写两条路由规则。
现在当我写这样一条路线时:
Route::get('/fundraisers/{id}', 'FundraiserController@indexLang')->name('fundraisers.list');
发生的情况是$locale 是一个数字,而$id 在indexLang 中为空。有没有办法将{id} 分配给$_REQUEST['id'] 并取消设置$_REQUEST['locale']?就像使用.htaccess url 重写规则一样?这样我就可以摆脱index($id),因为它是indexLang的冗余异常
【问题讨论】:
标签: laravel