Как присоединить таблицу

Как в ICMS2 присоединить таблицу к выборке из базы?

 
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2602
Есть у меня тип контента, подразумевающий спецолимпиаду.
Создал набор, в котором выводятся лучшие посты, которые за определенное время голосования набрали наибольшее количество баллов рейтинга.
Для этого в таблицу cms_rating_log добавил колонку votedate, и добавил в компонент заполнение этой колонки временем голосования. Тут всё работает и замечательно добавляется время в колонку.

Потом создал поле контента, присвоил ему системное имя votedate и пытаюсь создать набор для вывода лучших постов за вчерашний день.
В наборе посты должны выводиться по убыванию рейтинга и с фильтрацией по votedate (не старше двух дней, не моложе одного).
Соответственно при выводе набора ожидаемо получаю ошибку:

Спойлер
Это и понятно, в cms_con_anec такой колонки нет. Теперь нужно подключить в выборку таблицу cms_rating_log. А вот как это сделать - ума не приложу.
Как в инструкции, написал $this->join('rating_log', 'r', 'r.target_id = i.id');
Пробовал засовывать это в разные места \system\controllers\content\model.php - никакого результата.

Кто может подсказать, в каком месте этой модели производится выборка из таблицы контента и как туда присоединить выборку из таблицы рейтинга?
______________________________________________________________________________________________________

Влепил в content\frontend.php строку
$total = $this->model->join('rating_log', 'r', 'r.target_id = i.id')->getContentItemsCount($ctype['name']);

Теперь ошибка выглядит так:
Спойлер
Осталось выяснить, как сменить элиас полю, либо как сделать, чтобы запрос выполнялся не к i.votedate а к r.votedate ?
Редактировалось: 1 раз (Последний: 31 января 2016 в 17:24)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.