繁体   English   中英

Laravel-正确使用模型和控制器

[英]Laravel - Using Models and Controllers appropriately

在应用程序中,我正在研究三种路线:

Route::get('/people-and-teams', 'TeamsController@index');
Route::get('/people-and-teams/{team}', 'TeamsController@show');
Route::get('/people-and-teams/{team}/{person}', 'UserController@show');

因此,从本质上讲,您进入团队页面,该页面列出了所有团队,单击特定团队会加载有关该团队及其工作人员的详细信息,然后单击团队成员会为您提供该用户的个人资料。

桌子

  • 队伍
  • 用户数
  • 个人资料

链接

  • 一个团队有很多用户
  • 用户有一个个人资料

如您所见,在第三条路线中,我正在考虑使用UserController但这是可行的,并且这样做有意义:

  1. 通过加载团队和用户之间的关系来获取用户信息
  2. 然后,通过在TeamsController全部加载用户和个人资料之间的关系来获取个人资料信息。

有这样做的正确方法,还是我可以自由选择要使用的控制器?

如果不使用resource指令,则始终可以自由使用路由中的任何控制器。

简短的答案是,如果您可以直接呼叫特定用户,则可以这样做。

始终尝试避免调用关系,因为它们都会带来额外的处理成本。

因此,从性能角度考虑,如果在“团队”页面上,您需要调用远距离关系来获取user_id,而不是在特定人员页面上调用该关系,这可能会更好,因为这可能不会经常执行。

请注意,在实际情况下,这取决于用户的负载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM