yii2中进行多个数据库时,怎么区分是那个数据库??
方法很多 1,ar的话,直接可以getDb()方法,设置使用的数据库。 2,组件形式,使用createCommand查询时候设置Yii::$app->db1 Yii::$app->db2...也可以直接实例化一个yii\db\connection类; 3,使用db\query的话,直接写数据库名,如robbins.username之类的。 4,还可以使用Yii::$app->createObject()传入配置实例话一个对象 等等。。。。
已懂 就是在你要使用的model类中,要使用哪个库的表就在那个表的model类中添加一个
public function getDb() {
return Yii::$app->db2; //db2 是config/web.php 中db1 db2
}
这样声明哪个库之后就可以进行操作了,谢谢哈
public static function getDb() { return Yii::$app->dbresult; //dbresult 就是你自己的配置的DB 名字 }
比如我的配置里是:
'dbresult' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=库名', 'username' => '用户名', 'password' => '密码', 'charset' => 'utf8', ],
直接绑定数据库
$sql= "select * from user where id = 3"; $rows=Yii::$app->pos->createCommand($sql)->queryOne();