thinkphp5在model中切换表前缀

原因

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

方法

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

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

原因

$table是个从父类继承来的变量,可以追踪到这是在Query.php中定义的变量这里写图片描述

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

猜你喜欢

转载自blog.csdn.net/hei_ha_hei/article/details/78418685