Yii::$app->db和$model->getDb()的区别
1.Yii::$app->db调用组件的形式获取到,当前数据库的资源链接
这是以组件的形式
return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=example', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ], ], // ... ];
然后通过语句 Yii::$app->db 来使用数据库连接,通过的公用方法createCommand()创建出 yii\db\Command;
2.$model = new Model();
其中模型Model是继承自Active Record ,Active Record 的getDb()方法
Returns the database connection used by this AR class.
返回的还是数据库的链接public static yii\db\Connection getDb ( )
所以原则上1,2两种方法是没有区别的