我有两个模型,我不想在其 URL 前面添加前缀。例如。用户和帖子
如果我有一个网址https://example.com/title-of-the-post https://example.com/title-of-the-post and https://example.com/用户名 https://example.com/username
我会在web.php
路线文件:
// User
Route::get('{slug}', function ($slug) {
$user = User::whereSlug($slug)->get();
return view('users.show', $user);
});
// Post
Route::get('{slug}', function ($slug) {
$post = Post::whereSlug($slug)->get();
return view('posts.show', $user);
});
现在我面临的问题是,输入第一条路线后,即使没有具有匹配的slug的模型,也永远不会到达第二条路线。
如果我怎样才能退出到下一条路线(邮政)$user
没有找到吗?
注意:我尝试了许多不同的退出策略,但似乎都不起作用。
return;
return false;
return null;
// and return nothing
提前致谢!
UPDATE:
另一个问题是,如果我有其他resource
他们的路线也被第一条路线阻挡。
例如。如果我有Route::resource('cars', 'CarController')
它生成一个/cars
与 {slug} 匹配并且也被第一个用户路由阻止的路径。