phalcon: 按年分表的model怎么建?table2017,table2018...相同名的分表模型怎么建

Posted 穆晟铭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phalcon: 按年分表的model怎么建?table2017,table2018...相同名的分表模型怎么建相关的知识,希望对你有一定的参考价值。

phalcon: 按年分表的model怎么建?table2017,table2018...相同名的分表模型怎么建

场景:当前有一张表:Ntime,因为表太大了,考虑要分表:

Ntime2017

Ntime2016

Ntime2015

......

那么这么类型的表的模型model只能建一个 Ntime模型文件,利用phalcon的phalcon/mvc/model中的getSource/setSource来完成设置

model应该这么建:

use Phalcon\Mvc\Model;
class Ntime extends Model {

    //id
    public $id;
    //国家cid
    public $name;
    //省市id
    public $create_time;

	
	public static $table_name;
	
	public function initialize()
	{
		
		$this->setSource(self::$table_name);
	}


}

  

Controller应该这么写:

public function indexAction()
    {
        

		//一
		\Ntime::$table_name = ‘ntime2015‘;
		$result = $this->modelsManager->createBuilder()
           ->columns("id,name,create_time")
           ->from("Ntime")
            ->orderBy("id ASC")
			->getQuery()
			->execute()
			->toArray();
		
		//二
		\Ntime::$table_name = ‘ntime2017‘;
		$result = \Ntime::find([
			‘limit‘=>2	
		])->toArray();      
		
		var_dump($result);

		echo "gaga";
		exit;
    }

  

 

以上是关于phalcon: 按年分表的model怎么建?table2017,table2018...相同名的分表模型怎么建的主要内容,如果未能解决你的问题,请参考以下文章

mybatis-plus小技能: 分表策略(按年分表和按月分表)

sharding sphere 4.0.0-RC1版本 按年分表(后续优化)

phalcon:如何无限类?

Phalcon学习-model

致命错误:未捕获的异常“Phalcon\Mvc\Model\Exception”与消息“语法错误,意外令牌>,

phalcon:官方多模块支models层,mode数据库配置