TP5动态改变模型表名有方法吗还是方法上面有BUG

浏览:5026 发布日期:2017/01/04 分类:ThinkPHP5专区 关键字: 表名
在tp5数据模型动态改表是不能用name()的,
初使化的时候能改,但操作的时候还会初使化就还原了,无法实现;
代码如下:
init_model.phpnamespace application\workflow\model;

use think\Model;

class Init_Model extends Model
{
    protected $pk = 'id';

    //初始化表名
    public function __construct($name = '')
    {
        if (!empty($name)) {
            $this->name = $name;
        }
    }
}
使用时:$model = new init_model('test'); //成功改变了数据表
$model->get(); //操作时二次走__construct成空白,还原成没有表名;

请问有内置方法动态改变表名吗,对于动态管理的东东很须要这个功能呀;

目前我临时解决方法是:
init_model.phpnamespace application\workflow\model;

use think\Model;

class Init_Model extends Model
{
    protected $pk = 'id';

    //初始化表名
    public function __construct()
    {
        $name = config('workflow_model_name'); 获取表名
        if (!empty($name)) {
            $this->name = $name;
        }
    }
}
调用:
$model = new Init_Model();
config('workflow_model_name', 'test'); //设置表名
$info = $model->all();

希望有一个完整的内置解决方案
最佳答案
评论( 相关
后面还有条评论,点击查看>>