Я пытаюсь объединить данные из разных запросов в одну активную запись с целью разбивки на страницы.
У меня есть две разные базы данных с похожей таблицей, то есть
db1
tbl_products
id,quantity,price
Сейчас на db2
db2
tbl_products
id,quantity,price
Итак, у меня есть две модели с разными подключениями, где первая модель подключается к db1, а вторая к db2
class ProductsDb1 extends ActiveRecord{
public static function getDb()
{
return 'db1'
}
}
class ProductsDb2 extends ActiveRecord{
public static function getDb()
{
return 'db2'
}
}
Так что теперь в моем текущем запросе у меня есть
$db1productsQuery = ProductsDb1::find()->where(...)
$db2productsQuery = ProductsDb2::find()->where(...);
На моем ActiveDataProvider я передаю свой запрос как
$data = new ActiveDataProvider([
'query' => $db1productsQuery, //pass the dbproducts query
'sort' => ['defaultOrder' => ['quantity' => SORT_DESC]],
'pagination' => [
'pageSize' => $arr['perPage'],
'page' => $arr['page']
],
]);
. Как указано выше, мне нужно создать несколько activeDataProviders для каждого запроса и возвращать данные отдельно. Можно ли объединить или добавить оба запроса в один ActiveDataProvider, вместо того чтобы создавать каждый поставщик данных для каждого запроса