详解yii2行使多个数据库的案例
关于yii2设置操纵多个数据库举办操纵,文档上面也给出了详细的设置,一个拭魅战性的例子,也是很简朴的,我们这里以权限节制为单个打点库dbname2,营业库dbname 为例来看看怎样设置多个数据库。 No1. 第一步,我们参照大部门百度的文档举办操纵即可。 [ 'db' => [ 'class' => 'yiidbConnection','dsn' => 'mysql:host=ip;dbname=dbname','username' => 'username','password' => 'pwd','charset' => 'utf8',],'db2' => [ 'class' => 'yiidbConnection','dsn' => 'mysql:host=ip;dbname=dbname2',No2.第二步,这里我们打开设置文件 main.php ,对 authManager 选项增进四个权限关联的数据表的设置。 [ 'class' => 'yiirbacDbManager','defaultRoles' => ['guest'],'itemTable' => 'dbname2.auth_item','itemChildTable' => 'dbname2.auth_item_child','assignmentTable' => 'dbname2.auth_assignment','ruleTable' => 'dbname2.auth_rule',其拭魅这里设置的是 vendoryiisoftyii2rbacDbManager.php类的四个属性,这里理应向上面同等,直接变动项目设置文件。 No3.到这里着实就差不多了,那有同窗疑问了,我这还没看呢,怎么就竣事了呢?陌蛋登你说我这user表和menu表怎么办?别急,我们来看看第三个步调: 这一步也是很简朴滴,我们向下面这样简朴设置下就ok了 找到你项目标configparams.php文件,添加下面的设置项就好 [
'menuTable' => 'dbname2.menu',// 'userTable' => 'dbname2.user',
留意啦,上面这个为啥设置项 userTable屏障了呢,这个要看小我私人的设置,打开文件 vendormdmsoftyii2-admincomponentsConfigs.php文件,查察下有没有userTable属性,假若有,这里就必要设置,假如没有,你设置试试报不报错 还差一步,最后最后一步,也是个例子声名哦。 我们以上面的userTable为例,假如我们用gii天生了一个model文件User.php,由于默认设置的表是位于dbname库的,而我们的user表是dbname2库中的表,以是呢,我们必要修改User.php 这个model文件的tableName要领,表前面加库名即可。 有脑残粉要问了,陌蛋登这里的 auth_item 等表用不消也这样操纵喃,谜底虽然是No啦,由于我们这里回收的是rbac和yii2-admin设置的权限打点机制,上面的设置项着实我们都已经拟定好啦。 以上就是本文的所有内容,但愿对各人的进修有所辅佐,也但愿各人多多支持编程之家。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |