Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在yii2中设置查询生成器的连接?_Yii2 - Fatal编程技术网

如何在yii2中设置查询生成器的连接?

如何在yii2中设置查询生成器的连接?,yii2,Yii2,我想使用QueryBuilder: $rows = (new \yii\db\Query()) ->select('id, name') ->from('user') ->limit(10) ->all(); 使用非默认连接: \Yii::$app->get('db_mysql') 如何正确地执行此操作?使用: $rows = (new \yii\db\Query()) ->select('id, name')

我想使用QueryBuilder:

$rows = (new \yii\db\Query())
    ->select('id, name')
    ->from('user')
    ->limit(10)
    ->all();
使用非默认连接:

\Yii::$app->get('db_mysql')
如何正确地执行此操作?

使用:

$rows = (new \yii\db\Query())
    ->select('id, name')
    ->from('user')
    ->limit(10)
    ->all(\Yii::$app->db_mysql);
当然,您必须在配置中设置
db_mysql
组件

文件:


在您的模型创建方法中

/**
 * @return \yii\db\Connection the database connection used by this AR class.
 */
public static function getDb()
{
    return Yii::$app->get('db_mysql');
}
之后

$rows = (new \yii\db\Query())
    ->select('id, name')
    ->from('user')
    ->limit(10)
    ->all(YourModel::getDb());


在您的模型上下文中

您想要设置新连接我为您提供了新连接的解决方案
$rows = (new \yii\db\Query())
    ->select('id, name')
    ->from('user')
    ->limit(10)
    ->all(YourModel::getDb());
$rows = (new \yii\db\Query())
    ->select('id, name')
    ->from('user')
    ->limit(10)
    ->all(static::getDb());