/** НАДО ЗАМЕНИТЬ НА Cortex * Создает виртуальные поля в классе Query для связей один-ко-многим (выбирает значение из справочника для данного объекта) * Используется для нестандартных запросов. * Более эффективно, так как нет фложенных селектов * @param DBAL\Query $query */ private function addVirtualFieldsToQuery($query) { // Для всех связей один-ко-многим foreach ($this->tableMeta->getParents() as $v) { // Добавляем таблицу в секцию from $query->from(array($v['table'])); $virtual_field_name = 'cat_' . $v['table']; // Добавляем и маппим в красивые имена title и slug из справочника (надо, чтобы формировать ссылки) $query->select(array($v['table'] . '.title as ' . $virtual_field_name, $v['table'] . '.slug as ' . $virtual_field_name . '_slug')); // Добавляем связь в условия запроса $query->conditions(array($this->table . '.fko_' . $v['table'] . '=' . $v['table'] . '.id')); } }