Laravel重用模型吗?

时间:2018-03-25 14:05:17

标签: laravel

如果我在控制器中检索模型/集合并在以下事件中进行相同的调用,Laravel是否会从控制器重用模型/集合或通过第二次数据库调用获取数据?

提前致谢!

编辑: 我指的是这样的电话:

User::where('user_id', 42)->first();

1 个答案:

答案 0 :(得分:1)

如果你$user = User::where('user_id', 42)->first();

然后在后面的代码中重用$user,然后它将重用它,因为你使用的是变量。

但每次拨打User::where('user_id', 42)->first();之类的电话时,都会直接触发新的数据库通话。所以,你的问题的答案是否定的,它不会重复使用'它,除非你使用变量,否则不要第二次进行雄辩。

既然你问这个问题,你可能会想到其他一些事情;一个是缓存,另一个是急切加载,这与将相关模型加载到构成调用的实际模型上的情况略有不同;还有另一个我们的Auth :: user(),但这不是你上面给出的用户::所以我假设你并不是那个意思。