仅使用 ID 访问 Laravel URL
Access Laravel URL with ID only
我的应用程序是在 laravel 5.8 中创建的,我想询问在我想显示我的一些客户资料(如
)的独特场景中的最佳方法
我知道在 laravel 中我必须在 URL 之前给出一个唯一标识符,例如 https://www.example.com/profile/1234 以便它知道哪个函数寻找。但出于某种原因,我必须构建上面的 URL.
我直接试了一下像:
Route::get('/{id}', 'ExampleController@myfunction')->name('profiler');
但这只有当我把它放在我的路线文件的底部时才有效。如果我把它放在中间或顶部的某个地方。 https://www.example.com/about-us 等所有其他链接都停止工作。
我的问题是:
- 实现这样的目标的最佳方法是什么。 (可以吗
我把它放在路由文件的底部还是会是一些
这种方法有什么威胁或缺点吗?)
- 我应该使用这种方法还是添加唯一标识符。
我真的很想使用我在问题开头提到的URL。
在此先感谢大家对我的帮助。
和平:)
您确实必须将这条路线放在路线列表的末尾。这是因为它将匹配以基础 URL 开头的 任何 路由。您的路线需要一个 id
路径参数,但这也将匹配 about-us
。
没有任何路径参数的路线,例如只有 /
,不会被此规则匹配,因为 id
是必需的。
我想你可以通过正则表达式指定{id}的类型。
Route::get('/{id}', function ($id) {
//
})->where('id', '[0-9]+');
这条路线只有在 id 是
的数字时才有效
https://www.example.com/about-us
如果这条路线行不通。
希望这就是您要找的..
我的应用程序是在 laravel 5.8 中创建的,我想询问在我想显示我的一些客户资料(如
)的独特场景中的最佳方法我知道在 laravel 中我必须在 URL 之前给出一个唯一标识符,例如 https://www.example.com/profile/1234 以便它知道哪个函数寻找。但出于某种原因,我必须构建上面的 URL.
我直接试了一下像:
Route::get('/{id}', 'ExampleController@myfunction')->name('profiler');
但这只有当我把它放在我的路线文件的底部时才有效。如果我把它放在中间或顶部的某个地方。 https://www.example.com/about-us 等所有其他链接都停止工作。
我的问题是:
- 实现这样的目标的最佳方法是什么。 (可以吗 我把它放在路由文件的底部还是会是一些 这种方法有什么威胁或缺点吗?)
- 我应该使用这种方法还是添加唯一标识符。
我真的很想使用我在问题开头提到的URL。
在此先感谢大家对我的帮助。
和平:)
您确实必须将这条路线放在路线列表的末尾。这是因为它将匹配以基础 URL 开头的 任何 路由。您的路线需要一个 id
路径参数,但这也将匹配 about-us
。
没有任何路径参数的路线,例如只有 /
,不会被此规则匹配,因为 id
是必需的。
我想你可以通过正则表达式指定{id}的类型。
Route::get('/{id}', function ($id) {
//
})->where('id', '[0-9]+');
这条路线只有在 id 是
的数字时才有效https://www.example.com/about-us
如果这条路线行不通。
希望这就是您要找的..