Php Laravel 5中的模型

Php Laravel 5中的模型,php,mysql,angularjs,laravel-5,Php,Mysql,Angularjs,Laravel 5,我正在用Laravel+AngularJS做一个web应用,我有一个问题。我的数据库中的每个表都需要一个模型吗?我的数据库中有87个表,我需要根据用户需要的输入查询所有表 我只是想确保所有表都必须有一个模型文件,或者只要一个就足够了 这取决于您希望如何处理查询 如果您想使用雄辩的ORM,您需要模型类来处理对象和关系。这是表的模型,中间关系表除外,中间关系表可以通过pivot属性访问 还支持原始SQL查询。您实际上不需要为它们提供模型类,因为结果数组中的每个结果都是一个PHP StdClass对象

我正在用Laravel+AngularJS做一个web应用,我有一个问题。我的数据库中的每个表都需要一个模型吗?我的数据库中有87个表,我需要根据用户需要的输入查询所有表


我只是想确保所有表都必须有一个模型文件,或者只要一个就足够了

这取决于您希望如何处理查询

如果您想使用雄辩的ORM,您需要模型类来处理对象和关系。这是表的模型,中间关系表除外,中间关系表可以通过pivot属性访问

还支持原始SQL查询。您实际上不需要为它们提供模型类,因为结果数组中的每个结果都是一个PHP StdClass对象。不过,您需要编写原始SQL


请参阅Laravel。

有两种方法可以访问数据库表:

  • (取决于型号)
  • DB Facade(独立于模型)
  • 前者是执行DB查询和相关任务的更干净、最好的方法,而后者则不干净,而且您很难管理大型应用程序,正如您所说的,您的应用程序中有80多个表

    另外,如果您使用的是雄辩的方式,那么最好有一个基础模型,它将有您可以在子模型中继承的公共代码。例如,如果要存储做了一些DB更改的“用户id”,则可以在启动函数中写入
    Auth::id()
    ,并将该值分配给表上的
    changed\u by
    字段

    在DB Facade中,每次执行DB操作时都必须对表名进行硬编码,这会导致不一致性。当您发现必须更改表名时,这是一种罕见的情况,但如果在一个文件中有多个表正在进行DB操作,则很难管理。有一些选项,例如,创建一个全局表名变量,可以访问该变量来执行DB操作

    结论:
    是的,创建80+模型以实现雄辩的方式是痛苦的,但在短期内,随着应用程序的增长,您将很容易管理,如果其他开发人员开始使用它,这将对他们有好处,因为它将提供DB的概述,并将提高代码的可读性。

    请添加一些您以前尝试过的代码。