Closed FlashEnix closed 4 years ago
В настройке соединения можно указать, другую бд не default. Задать другую БД для AR модели можно вот так
public static function getDb() {
return Yii::$app->clickhouse2;
}
Это понятно. Но в случае, если таблицы для удобства раскиданы по разным схемам, то нецелесообразно раздувать на каждую схему свой конфиг. Тем более джоины между этими таблицами вероятно не будут работать через QueryBuilder.
Join специфическая штука в CH и на сколько я помню через querybulder она толком не реализована, не было еще необходимости.
RU: В случае, если tableName в модели указана как [schema].[tableName] не удается получить модель через методы $model->find()->one(), данные отдаются сервером Clickhouse, но при заполнении модели не находится схема таблицы, т.к. имя ищем в default схеме. При это, если указать $model->find()->asArray()->one(), данные отдаются, т.к. модель не заполняется.
ENG: In case tableName in models is indicated as [schema]. [TableName] can’t get the model using the methods $model->find()->one(), data is sent from the Clickhouse server, but when populated model, does not find schema, because we are looking name in the default schema. In this case, if you specify $model->find()->asArray()->one(), the data is given, because the model is not populated.