Php Laravel-将多个模型组合到一个阵列中

Php Laravel-将多个模型组合到一个阵列中,php,laravel,Php,Laravel,几年前,我以一种相当程序化的方式编写了一个PHP web应用程序。由于这个项目现在得到重新激活和扩展,我决定使用Laravel及其MVC结构对其重新编码。由于我对Laravel和MVC都是新手,所以我正在努力将我的过程方法转换为面向对象的方法 为每个数据库表创建模型后,我面临几个问题: 当加载包含多个模型数据的页面时,最好的方法是什么?只需调用两个模型,获取两个模型的数据并将其发送到视图 当我想要创建一个包含多个表的聚合数据的视图时。在实际版本中,我刚刚创建了一个类,该类从两个表中获取数据,添加

几年前,我以一种相当程序化的方式编写了一个PHP web应用程序。由于这个项目现在得到重新激活和扩展,我决定使用Laravel及其MVC结构对其重新编码。由于我对Laravel和MVC都是新手,所以我正在努力将我的过程方法转换为面向对象的方法

为每个数据库表创建模型后,我面临几个问题:

  • 当加载包含多个模型数据的页面时,最好的方法是什么?只需调用两个模型,获取两个模型的数据并将其发送到视图

  • 当我想要创建一个包含多个表的聚合数据的视图时。在实际版本中,我刚刚创建了一个类,该类从两个表中获取数据,添加一些逻辑并将新数组返回到视图中。这将如何在laravel实施?我没有找到某种包装模型。你能告诉我如何在laravel中实现这一点吗


  • 提前感谢您的帮助。

    我将为您的问题实施存储库模式。看看我的存储库


    在这个阶段,我的存储库不包含多表记录获取或存储,但最终我会这样做。作为一个起点,我希望这会有所帮助。

    不要想得太多。如果需要两个模型,请抓取它们并将其传递给视图。如果需要聚合数据,请使用现有类,获取结果数组并将其传递给视图。使用laravel或MVC不需要改变一切。控制器应该只是模型和视图之间的传输层。我强烈建议订阅laracasts.com并从他们的介绍视频系列开始。这可能是学习Laravel的最好方法。对于#2,我会创建一个服务类。这可以封装数据库查询以聚合数据,也可以封装各种模型的查询以及生成所需输出所需的函数。@Polaris:我正在阅读laravel的文档。正如你推荐的那样,我也会看看这些视频。致德文和富巴:然后我将简单地调整我现有的课程,使之与模型一起工作。只是让你下一步熟悉雄辩的关系。通过这样做,您当前的几个问题的大多数答案都将在这方面得到满足。这里有很多代码重复,可以通过使用类继承来消除。