2016-06-30 13:56:23 14073次浏览 2条回答 3 悬赏 10 金钱

yii2中进行多个数据库时,怎么区分是那个数据库??

最佳答案

  • robbins 发布于 2016-06-30 16:33 举报

    方法很多
    1,ar的话,直接可以getDb()方法,设置使用的数据库。
    2,组件形式,使用createCommand查询时候设置Yii::$app->db1 Yii::$app->db2...也可以直接实例化一个yii\db\connection类;
    3,使用db\query的话,直接写数据库名,如robbins.username之类的。
    4,还可以使用Yii::$app->createObject()传入配置实例话一个对象
    等等。。。。

    2 条回复
    回复于 2016-06-30 17:36 回复

    已懂 就是在你要使用的model类中,要使用哪个库的表就在那个表的model类中添加一个

    public function getDb() {

    return Yii::$app->db2;  //db2 是config/web.php 中db1  db2
    

    }

    这样声明哪个库之后就可以进行操作了,谢谢哈

    回复于 2017-06-04 16:10 回复

    public static function getDb() {
    return Yii::$app->dbresult; //dbresult 就是你自己的配置的DB 名字
    }

    比如我的配置里是:

        'dbresult' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=库名',
            'username' => '用户名',
            'password' => '密码',
            'charset' => 'utf8',
    
        ],
    
  • 回答于 2018-10-16 15:36 举报

    直接绑定数据库

    $sql= "select * from user where id = 3"; 
    $rows=Yii::$app->pos->createCommand($sql)->queryOne(); 
    
    
您需要登录后才可以回答。登录 | 立即注册
37425
等待激活

37425

注册时间:2016-10-31
最后登录:1970-01-01
在线时长:0小时0分
  • 粉丝0
  • 金钱5
  • 威望0
  • 积分5

热门问题