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

thinkphp自带的分表 老是找不到表名 大神帮忙看看

程序员文章站 2022-03-27 09:11:33
...
模型中

namespace Home\Model;
use Think\Model;


class FollowModel extends AdvModel{
    //分表方式
    protected $partition = array('field'=>'vid','type'=>'mod','num'=>'2');
    
    //获取操作表名
    public function getDao($data=array()) {
//           $data = empty($data) ? $_POST : $data;
          $table = $this->getPartitionTableName($data);
           return $this->table($table);
    }
    
}

方法中
namespace Home\Controller;
use Think\Controller;

class ActionController extends Controller {
    
    public function Test() {
        //获取分表
        $soft_tj_table = D("Follow")->getDao(array('vid'=>5));
        dump($soft_tj_table);
    }
    
}

由于使用了高级模型  返回的表名老是报错 $table 

回复内容:

模型中

namespace Home\Model;
use Think\Model;


class FollowModel extends AdvModel{
    //分表方式
    protected $partition = array('field'=>'vid','type'=>'mod','num'=>'2');
    
    //获取操作表名
    public function getDao($data=array()) {
//           $data = empty($data) ? $_POST : $data;
          $table = $this->getPartitionTableName($data);
           return $this->table($table);
    }
    
}

方法中
namespace Home\Controller;
use Think\Controller;

class ActionController extends Controller {
    
    public function Test() {
        //获取分表
        $soft_tj_table = D("Follow")->getDao(array('vid'=>5));
        dump($soft_tj_table);
    }
    
}

由于使用了高级模型  返回的表名老是报错 $table 

命名空间不正确

use Think\Model\AdvModel;
相关标签: php