如果我的视图部分始终需要相同的数据(比如填写一些导航链接)并且我在view composer中提供了这些数据,我是否需要担心主页还需要的情况,加载,这个数据? 换句话说,如果你不小心,是否有可能最终复制数据库查询?
答案 0 :(得分:1)
简短回答是肯定的,你可能要求两次使用相同的数据。
尝试添加
DB::enableQueryLog();
在任何数据库调用之前,最后,在返回视图之前,执行以下操作:
var_dump(DB::getQueryLog());
然后,您可以在查询日志中查看是否两次调用相同的数据。
答案 1 :(得分:0)
我现在理解这一点的摘要:
如果您的视图中部分需要未在其他地方使用的数据,则不会将该调用添加到控制器,而是添加到该部分上注册的作曲家。 所有这一切对你来说都是从控制器中调用,以减少那里的代码量:仅此而已。 (但如果部分被多个视图调用,则会使代码保持干燥状态。)
如果部分需要在页面的其他部分使用数据 >>,您应该考虑添加一个视图编辑器,因为它不允许您删除调用这些数据,只是意味着您需要重复调用,因为在任何情况下都需要从控制器传递变量(由于范围未被共享,如我对上述问题的评论中所述)。