前言
刚接触laravel开发框架,一直纠结一个问题:为什么有时候查询记录时会顺带输出关联表的内容,有时候却不输出?
后来翻官方文档的时候才知道关联表默认是懒加载
,只有在关联表数据被调用的时候才会加载出来。为了实现在不调用关联表数据的情况下默认查询输出关联表数据可以将加载方式改为预加载
。
预加载的方法
在调用查询的时候加上with(‘关联表的函数名’)即可,如:
return User::with('comment')->where('id', $id)->first();
这样,在输出user记录的时候就会默认附带上和这个用户有关的comment记录。