当我创建 api 并使用 laravel 资源时,是获取完整数据然后选择要在资源文件中发送哪些列更好,还是在从数据库中选择数据时确定应选择哪些列更好?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条经验 获得超2个赞
仅加载相关数据始终是更好的做法,因为它可以节省内存和时间。在 laravel 中,您可以使用“select”函数轻松地在查询中完成此操作,例如
return UserResource::collection(User::select('id', 'name')->get());
// Resource file:
public function toArray($request)
{
return parent::toArray($request);
}
慕桂英546537
TA贡献1848条经验 获得超10个赞
如果数据库中有数百万条记录,我绝对建议从表中获取特定列。36K
以下是我在包含记录的表上运行的一些统计信息
SELECT * from `app_logs` // + 0.172 sec SELECT ID FROM `app_logs`// + 0.016 sec
因此,即使只有几千条记录,差异也足够了。
但是,为了简单起见并且不考虑性能,您也可以使用 laravel fancy 语法
User::all()
- 2 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消