Laravel使用数据库查询进行路由

时间:2018-06-15 14:25:52

标签: laravel laravel-routing

我们有3种类型的网址:

  • 国家/地区:/ germany-travel或/ united-kingdom-travel
  • 城市如:/ berlin或/ los-angeles
  • Artikles喜欢:/ my-great-article或/ my-other-great-article

为了分离这三种类型的网址,我需要在laravel中进行工作路由,基于我的3个数据库模型Country,City和Article上的slu ..

// Country
Route::get('{country}-travel', function(\App\Models\Country $country){
    return view('country.show', ["object" => $country]);
});

// City
Route::get('{city}', function(\App\Models\City $city){
    return view('city.show', ["object" => $city]);
})->where("city", "[a-z-]+");

// Articles
Route::get('{article?}', function(\App\Models\Article $article){
    return view('article.show', ["object" => $article]);
}))->where('article', '.*');

这仅适用于国家和城市,因为' / my-great-article'也被视为城市(因此,我找不到404,因为没有城市有"我很棒的文章" slug。有什么想法吗?

0 个答案:

没有答案