很多时候,我们会把创建多张相同表结构、不同表名的表,来达到分量的效果,但在创建models时,一般只会创建一个,仅在

public function tableName()
    {
    }

函数上做文章。

在导入数据时,CActiveRecord中的private static $_models=array();会在创建时保存表名及结构,而在第二次创建model时,依然会使用上次的表结构,导致无法按需求对数据进行分表

解决方案是:

$model = new Model();

$model->refreshMetaData();//重新获取表结构


当然,使用上面的方式没有直接使用sql效率高。只是提供一种方案