当前位置:Gxlcms > PHP教程 > thinkphp自带的分表老是找不到表名大神帮忙看看

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

时间:2021-07-01 10:21:17 帮助过:5人阅读

模型中

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;

人气教程排行