【代码片段】Yii2创建公共数据表模型

PHP开发 小铁匠 2019-03-21

Yii2创建公共数据表模型

应用目录/models/Any.php

namespace app\models;

use Yii;
use yii\db\ActiveQuery;

class Any extends ActiveQuery{

    private static $tableName;
	
    public static function tableName(){
        return self::$tableName;
    }

    // 自动添加数据表前缀
    public static function model($tableName = null) {
        self::$tableName = "{{%" . $tableName . "}}";
        return new self;
    }
    
    // 不自动添加数据表前缀
    public static function table($tableName = null) {
        self::$tableName = $tableName;
        return new self;
    }
}

使用:

use app\models\Any;
......

And::model('tablename')->findAll(); // 无需传入数据表前缀
And::table('prefix_tablename')->findAll(); // 必须传数据表前缀


------ 本文结束 感谢阅读 ------