关于模型的一个问题

请教一下:
现有一个需求,表要在管理后台创建,可能会有很多张表。每张表对应的模型都是类似的,如果创建一张表,就生成一个模型,这样的话,模型会太多了。请问一下,有没有方法让没有模型的表,共用一个默认模型呢?

看样子这个问题确实是有问题,最终解决办法,还是用DB来做了。感谢各位朋友的回复!

longren610
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
Epona
最佳答案

@longren610 你需要更改你的设计了,或者不必要的表不创建模型。但是一个模型对应多个表是不可取的。

4年前 评论
讨论数量: 12

共用一个模型!!!亏你想得出

4年前 评论
Epona

你这个想法是错误的。

4年前 评论
longren610

@Epona 问题是如果不共用,表会很多,模型也很多。相当于重复做了很多不必要的工作。

4年前 评论

在models中的都有会一个protected $table 当你的模型名称与真实表不同时,指定表名。所以说想要共享model是不可能的。

4年前 评论
Epona

@longren610 你需要更改你的设计了,或者不必要的表不创建模型。但是一个模型对应多个表是不可取的。

4年前 评论
longren610

@Epona 好吧,我再想想办法。谢谢了~

4年前 评论
longren610

@yangchangdong 好吧,谢谢!

4年前 评论

主要你建的表是做什么用的,,可以共用一个表来存数据的。。然后字段可以用JSON

4年前 评论
longren610

@半人间 就是做流程管理,每个流程的字段都不一样。所以需要对应每个流程创建一张表。共用一个表肯定是不行的。因为每个流程都会有独立的字段数据。

4年前 评论
Haven

可以不采用它的ORM模式,在你的模型里面不要继承Model类,然后用DB类构造SQL操作数据库来实现你的功能就可以啦。

不过可以多学习了解一下它的ORM思想,用多了你就会发现用它非常方便了。 :smile:

4年前 评论
longren610 (楼主) 4年前

你可以在model中使用构造函数修改table属性来实现这个想法,但上面的人说的都对,这个想法是非常错误的,不推荐去这么做。

4年前 评论
longren610 (楼主) 4年前

共用一个模型 只能是类似tp的 M('User')->select(); //这样的吧
这要封装一个方法 调用那个方法 修改模型绑定的表

表太多 一个个的建立模型很麻烦
所以我开发了一个根据表名建立所有模型的扩展
larmodel

4年前 评论
longren610 (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!