【发布时间】:2018-04-21 14:44:25
【问题描述】:
我的搜索功能上有 2 个模型,由一个字段连接,我想为我的 GridView 创建一个 ActiveDataProvider。这是我目前所拥有的:
我的 yii 数据库配置:
db => users logs data;
db1 => system data;
Model1 和 Model2 在 db1 中
public function search($params)
{
// (...)
$query1 = Model1::find();
$query2 = Model2::find();
$query1->select(
new Expression ("'Data model1: ' Model"),
'model1.id',
'model1.columns',
)->jointWith(['mODEL2'])
->andWhere(new Expression ('model1.id || model1.columns != model2.id || model2.columns'));
$query2->select(
new Expression ("'Data model2: ' Model"),
'model2.id',
'model2.columns',
)->jointWith(['mODEL1'])
->andWhere(new Expression ('model1.id || model1.columns != model2.id || model2.columns'));
$unionQuery = (new Query())->from(['dummy_name'=>$query1->union($query2)]);
$dataProvider = new ActiveDataProvider([
'query'=>$unionQuery,
]);
// (...)
return $dataProvider;
}
以及服务器数据库异常:
表或视图不存在
在我的模型(1 和 2)中,我明确指出我使用 db1 连接,但是如何在不使用 $unionQuery->all(Yii::$app->db1) 的情况下在 $unionQuery 中做到这一点?
那行不通。
【问题讨论】:
-
您的代码和您的问题对我来说似乎毫无意义.. 尝试解释您的目标.. 而不仅仅是断言。
-
我认为
multipeer-connectivity标签在这里不合适,因为它指的是 iOS 框架
标签: database activerecord model yii2 multipeer-connectivity