javalzbin
- javalzbin 2016-04-06 已签到连续签到44天,获得了20个金钱
- javalzbin 回答了问题 多个数据库 读写分离怎么配置呢?
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方法
你试试看行不行
- javalzbin 回答了问题 多个数据库 读写分离怎么配置呢?
首先,你得配置多个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;
- javalzbin 2016-04-05 已签到连续签到43天,获得了20个金钱
- javalzbin 回答了问题 REST服务器目录问题
nginx可以配置多个域名,比如,你可以把phpmyadmin配置成二级域名
如果本地测试,你可以用端口来区分。
就是配置多个server { ... } 每个server配置对应你的一个目录,也可以说是对应着你的一个项目 - javalzbin 2016-04-04 已签到连续签到42天,获得了20个金钱
- javalzbin 回答了问题 请问一下,关于控制过滤器 access
设置默认控制器,修改advanced\backend\config\main.php配置文件
return [ ...... // 修改默认的控制器为app,默认不写为site 'defaultRoute' => 'app', ......
前台则是:advanced\frontend\config\main.php
- javalzbin 2016-04-03 已签到连续签到41天,获得了20个金钱
- javalzbin 2016-04-02 已签到连续签到40天,获得了20个金钱
- javalzbin 2016-04-01 已签到连续签到39天,获得了20个金钱