Здравствуйте. Суть вопроса такова: есть 2 базы данных, расположены они на разных серверах, подключаются по разным юзерам\паролям. Для GridView необходимо сделать сортировку столбца, который выбирается из удаленной базы данных. Выборка через отдельный запрос на удаленную бд по каждому элементу работает нормально. Но для сортировки, я так понимаю, необходимо делать join и вот тут-то вылетает ошибка. Подскажите, возможно ли сделать сортировку в запросе с 2 базами данных, расположенных на разных серверах?
Ошибка: "SELECT command denied to user 'user'@'localhost' for table 'game'"
// Код, который выбирает игры и связные данные
$query = Game::find()
->with(['relations', 'user', 'categories', 'characters'])
->joinWith('core as core');
$config = [
'query' => $query,
'sort' => $this->getSort(),
'pagination' => ['pageSize' => 40]
];
$dataProvider = new ActiveDataProvider($config);
// метод для сортировки данных
// ошибка в колонке complaints
private function getSort()
{
return new Sort([
'attributes' => [
'id',
'name',
'complaints' => [
'asc' => ['core.complaints' => SORT_ASC],
'desc' => ['core.complaints' => SORT_DESC],
]
],
]);
}
Получается я не могу сделать join двух БД из-за разных подключений
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'подключение',
'username' => 'юзер',
'password' => 'пароль',
'charset' => 'utf8',
],
'db_core' => [
'class' => 'yii\db\Connection',
'dsn' => 'подключение',
'username' => 'юзер',
'password' => 'пароль',
'charset' => 'utf8',
],