Проблема следующая ( для первой версии Yii описана в https://github.com/yiisoft/yii/issues/1953 , но там нет решения, только костыль):
есть 2 таблицы postgres, одна наследуется от другой (INHERITS) (items_log наследуется от items, и добавляет новую колонку с датой изменения).
Если вкратце, то в наследуемую таблицу пишется лог изменений первой таблицы триггером, но проблема не в этом.
Теперь в основной таблице items отображаются все записи из items_log (это нормальное поведение наследуемых таблиц).
Для того, чтобы выбрать записи только из таблицы items - необходимо выполнить запрос:
Код: Выделить всё
select * from ONLY items
Но в билдере запросов не нашел, как можно добавить Only.
Если переопределять tableName - то ошибка при чтении схемы БД
Если указать принудительно ->from(' ONLY ' . self::tableName()), то ONLY - заключается в кавычки и получаем:
Тот-же эффект, если через yii\db\ExpressionSQLSTATE[42P01]: Undefined table: 7 ОШИБКА: отношение "ONLY" не существует
LINE 1: SELECT COUNT(*) FROM "ONLY" "items"
Альтернативные решения, в принципе, есть (чистый sql запрос (SqlDataProvider), или просто создать копию таблицы, без наследования).
Но хотелось бы понять - можно ли как-то добавить ONLY?