Laravel树形分类目录与图标数据的高效关联:避免N+1查询
本文介绍如何在Laravel框架中,高效地加载树形分类目录及其子目录的图标数据,避免因数据库查询过多导致的性能问题。
问题: 使用Laravel的hasMany关系构建树形分类目录,并通过hasOne关系关联attachment表获取图标数据。最初的with([‘children’, ‘icondata’])方法只加载了父目录的图标。虽然在children关系中添加with([‘icondata’])可以加载所有图标,但却导致了多次数据库查询,效率低下。
低效代码示例:
public function children(){ return $this->hasMany(self::class, 'parentid')->with(['icondata']);}
登录后复制
本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。