javalzbin

javalzbin

多看,多想,多动手。

  • 财富值6926
  • 威望值150
  • 总积分8796

个人信息

  • 2016-04-06 已签到
    连续签到44天,获得了20个金钱
  • ActiveRecord有个getDb方法,你可以重写他

    public static function getDb()
    {
        return Yii::$app->getDb();
    }
    

    其他它最终调用的是Application的getDb方法

    public function getDb()
    {
            return $this->get('db');
    }
    

    所以,你可以根据你自己的业务,然后重写这个方法,返回你想要的db。
    最好自己写个类,比如:

    class BackBaseActiveRecord extends ActiveRecord{
    
    }
    

    然后让你所有的model都继承BackBaseActiveRecord,这样你在BackBaseActiveRecord中重写getDb方法

    你试试看行不行

  • 首先,你得配置多个db

    
    return [
        // ...
        'components' => [
            // 配置主库
            'db' => [
                'class' => 'yii\db\Connection',
                'dsn' => 'mysql:host=localhost;dbname=mydatabase', 
                'username' => 'root',
                'password' => '',
                'charset' => 'utf8',
            ],
            //可以配置多个从库,只要负责读
            'dbread' => [
                'class' => 'yii\db\Connection',
                'dsn' => 'mysql:host=localhost;dbname=mydatabase2', 
                'username' => 'root',
                'password' => '',
                'charset' => 'utf8',
            ],
        ],
        // ...
    ];
    
    

    接下来,如果你的业务处理是读取的,你就获取读取的实例:

    $connection2 = \Yii::$app->dbread;
    

    如果是需要写的业务,你就获取可读写的实例

    $connection2 = \Yii::$app->db;
    
  • 2016-04-05 已签到
    连续签到43天,获得了20个金钱
  • nginx可以配置多个域名,比如,你可以把phpmyadmin配置成二级域名
    如果本地测试,你可以用端口来区分。
    就是配置多个server { ... } 每个server配置对应你的一个目录,也可以说是对应着你的一个项目

  • 2016-04-04 已签到
    连续签到42天,获得了20个金钱
  • 设置默认控制器,修改advanced\backend\config\main.php配置文件

    return [
        ......
    
        // 修改默认的控制器为app,默认不写为site
        'defaultRoute' => 'app',
    
        ......
    

    前台则是:advanced\frontend\config\main.php

  • 2016-04-03 已签到
    连续签到41天,获得了20个金钱
  • 2016-04-02 已签到
    连续签到40天,获得了20个金钱
  • 2016-04-01 已签到
    连续签到39天,获得了20个金钱
副总裁 等级规则
8796/10000
资料完整度
40/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

6

Ta的访客

20