时间:2021-07-01 10:21:17 帮助过:6人阅读
你的分表字段是 id
所以在传给 getPartitionTableName 的数据数组中必须含有关联键为 id 的元素
不过他的算法有点怪异
$field = $data[$this->partition['field']]; switch($this->partition['type']) { case 'id': // 按照id范围分表 $step = $this->partition['expr']; $seq = floor($field / $step)+1; break;......... return $this->getTableName().'_'.$seq;按照你的设置,似乎应是 'type' => 'mod'
case 'mod': // 按照id的模数分表 $seq = ($field % $this->partition['num'])+1; break;
你的分表字段是 id
所以在传给 getPartitionTableName 的数据数组中必须含有关联键为 id 的元素
不过他的算法有点怪异
$field = $data[$this->partition['field']]; switch($this->partition['type']) { case 'id': // 按照id范围分表 $step = $this->partition['expr']; $seq = floor($field / $step)+1; break;......... return $this->getTableName().'_'.$seq;按照你的设置,似乎应是 'type' => 'mod'
case 'mod': // 按照id的模数分表 $seq = ($field % $this->partition['num'])+1; break;
你用 getPartitionTableName 取得的不就是表名吗?
有了表名不就和不分表时一样操作了吗?