Php 在yii2querybuilder中,使用未命名为';db';?
在一个Yi2项目中,我需要使用QueryBuilder和名为“dbcore”和“dbdata”的2个db组件。我一直在寻找如何做到这一点,但只找到以下内容(但没有示例): 所有这些查询方法都采用可选的$db参数,该参数表示应用于执行db查询的db连接。如果省略此参数,db应用程序组件将用作db连接 ()Php 在yii2querybuilder中,使用未命名为';db';?,php,yii2,query-builder,Php,Yii2,Query Builder,在一个Yi2项目中,我需要使用QueryBuilder和名为“dbcore”和“dbdata”的2个db组件。我一直在寻找如何做到这一点,但只找到以下内容(但没有示例): 所有这些查询方法都采用可选的$db参数,该参数表示应用于执行db查询的db连接。如果省略此参数,db应用程序组件将用作db连接 () 例如,考虑这个演示案例: $count = (new Query())->from('user')->count(); 我尝试了Query('dbcore')、Query(['db
例如,考虑这个演示案例:
$count = (new Query())->from('user')->count();
我尝试了Query('dbcore')、Query(['db'=>'dbcore'])和Query([$db=>'dbcore']),但都没有成功,但我正在黑暗中摸索。有人能告诉我正确的语法是什么吗
注意:我确实在组件数组中尝试了此解决方案,查询工作正常,但在我的应用程序中并不理想:
'db' => require(__DIR__.'/dbcore.php'), // 'db' is expected default in Query()
'dbcore' => require(__DIR__.'/dbcore.php'),
'dbdata' => require(__DIR__.'/dbdata.php'),
您案例中的“查询方法”是:
(我是第一次,所以不确定我是否可以用评论来表达感谢)。非常感谢你的解释。现在,我在Yii\db\Query的公共方法定义中清楚地看到了它——我从来没有想到会看到它!
$count = (new Query())->from('user')->count('*', Yii::$app->dbcore);