Опять запросы SQL в ICMS2

 
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1364
И так продолжая работу столкнулся с простой задачей.
Надо из двух таблиц(основной) и дополнительной вывести информацию по последним 10 записям. Создаю модель.
Код PHP:
  1.  
  2. public function last10() {
  3.  
  4. $this->joinInner('dogovora', 'd', 'i.id=d.id_abonent');
  5. $this->orderBy('id','DESC');
  6. $this->limit('10');
  7. return $this->get('abonent', 'id');
  8.  
  9.  
  10. }
ВАЖНО! может кому пригодиться, по умолчанию при JOIN INNER в ICMS2 присваивается переменная " i ". Так что ее использовать нельзя.


Стоит задача получить тип запроса:
Код PHP:
  1. SELECT i.*, d.* FROM cms_abonent i INNER JOIN cms_dogovora d ON i.id = d.id_dogovor
По итогу логично получаем только:
Код PHP:
  1. SELECT i.* FROM {#}abonent i INNER JOIN {#}dogovora as d ON i.id=d.id_abonent ORDER BY i.id DESC LIMIT 10
Вопрос, как добавть еще выбор полей d.*

Или все приводить к произвольным запросах SQL?
Редактировалось: 1 раз (Последний: 24 ноября 2015 в 07:50)
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4387
Код PHP:
  1. $this->select('d.*');
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1364
Спасибо! То что надо.

Рабочий скрипт для тех кому лень:

Код PHP:
  1. public function last10() {
  2.  
  3. $this->joinInner('dogovora', 'd', 'i.id=d.id_abonent'); //Добавляем вторую таблицу где будет выбирать, и условия выбора
  4. $this->orderBy('id','DESC');//Делаем сортировку по id первой таблицы DESC
  5. $this->limit('10');//Ограничиваем вывод 10 строками результата
  6. $this->select('d.*');// Добавляем переменную нужную для SELECT
  7. return $this->get('abonent', 'id');//Возвращаем результат
  8.  
  9. // SELECT u.id, u.fio, d.adres_tariff, d.name_tariff FROM cms_abonent u INNER JOIN cms_dogovora d ON u.id = d.id_dogovor
  10. }
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: