欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

thinkphp5在model中切换表前缀

程序员文章站 2022-05-20 10:56:20
...

原因

因为最近在做的东西有多个表前缀,不同的model中需要用不同表前缀的数据表,所以数据库配置文件中的统一表前缀就成了麻烦

方法

在相应的model(需要继承Model)中,定义一个table变量

class ExampleModel extends Model {
    protected $table = '完整的数据表名';
    //......你的代码
}

原因

$table是个从父类继承来的变量,可以追踪到这是在Query.php中定义的变量thinkphp5在model中切换表前缀

从上图中可以看到,本来是有一个专门的变量$prefix设置表前缀的,但是我试了并不能改变model用的表前缀,所以退而求其次,改用$table,在我们的model中设置完整的数据表名,测试可以成功。

相关标签: thinkphp