初使化的时候能改,但操作的时候还会初使化就还原了,无法实现;
代码如下:
init_model.php
namespace 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.php
namespace 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();
希望有一个完整的内置解决方案
最佳答案