【问题标题】:Recommended Laravel route structure for model relationships模型关系的推荐 Laravel 路由结构
【发布时间】:2019-08-15 10:24:21
【问题描述】:

我知道这个问题可能完全是基于意见的,但在这里。我想知道在 Laravel 中基于模型关系构建路由的推荐方法。以以下三种模型为例:

User
Post
Comment

与他们的关系(最基本的)如下:

User hasMany Posts
Post hasMany Comments

在我的 rotes 文件中,我希望获取特定用户的帖子列表。我可能倾向于使用以下任何一种:

Route::get('/users/{user_id}/posts')
Route::get('/posts/{user_id}')

对于获取特定帖子的 cmets,我可以使用两者中的任何一个:

Route::get('/posts/{post_id}/comments')
Route::get('/comments/{post_id}')

哪种方法最值得推荐。为什么?谢谢大家!

【问题讨论】:

  • 如果您在/posts/{post_id} 中并且可以单击评论以查看详细信息,那么将评论 ID 附加到您当前的 URL 会更有意义,因为它看起来像是在导航树结构而不是比跳来跳去。一般来说,这取决于您的导航结构

标签: laravel eloquent laravel-routing laravel-5.7


【解决方案1】:

你的第一个选择看起来不错:

Route::get('/users/{userId}/posts')
Route::get('/posts/{postId}/comments')

如果要实现“反向”端点,如何更明确地描述路由参数:

Route::get('/posts/by-user/{userId}')
Route::get('/comments/for-post/{postId}')

【讨论】:

  • 谢谢@Anders。这无疑将我引向了正确的方向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
  • 2022-06-15
  • 2016-02-26
  • 1970-01-01
相关资源
最近更新 更多