當我創(chuàng)建 api 并使用 laravel 資源時,是獲取完整數(shù)據(jù)然后選擇要在資源文件中發(fā)送哪些列更好,還是在從數(shù)據(jù)庫中選擇數(shù)據(jù)時確定應選擇哪些列更好?1)return UserResource::collection(User::all());// Resource file:public function toArray($request) { return [ 'id' => $this->id, 'name' => $this->name ]; }return UserResource::collection(User::all('id', 'name'));// Resource file: public function toArray($request) { return parent::toArray($request); }
2 回答

DIEA
TA貢獻1820條經(jīng)驗 獲得超3個贊
僅加載相關數(shù)據(jù)始終是更好的做法,因為它可以節(jié)省內(nèi)存和時間。在 laravel 中,您可以使用“select”函數(shù)輕松地在查詢中完成此操作,例如
return UserResource::collection(User::select('id', 'name')->get());
// Resource file:
? ? public function toArray($request)
? ? ? ? {
? ? ? ? ? ? return parent::toArray($request);
? ? ? ? }

慕桂英546537
TA貢獻1848條經(jīng)驗 獲得超10個贊
如果數(shù)據(jù)庫中有數(shù)百萬條記錄,我絕對建議從表中獲取特定列。36K
以下是我在包含記錄的表上運行的一些統(tǒng)計信息
SELECT?*??from?`app_logs`?//?+?0.172?sec SELECT?ID?FROM?`app_logs`//?+?0.016?sec
因此,即使只有幾千條記錄,差異也足夠了。
但是,為了簡單起見并且不考慮性能,您也可以使用 laravel fancy 語法
User::all()
- 2 回答
- 0 關注
- 146 瀏覽
添加回答
舉報
0/150
提交
取消