簡體   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