Как правильно составить вот так вот запрос в БД используя API Joomla?

  • 1 Ответов
  • 326 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

voron121

  • Давно я тут
  • ****
  • 222
  • 1
  • Метод тыка и мата помогает в кодинге
Доброго времени суток. Бьюсь битый ас и не могу понять почему не работает запрос в БД Joomla. Сам запрос

Код: sql
"SELECT * FROM  `eq1ri_content` WHERE catid = 1 OR catid2 = 2 "
  работает в самом MySQL - выдает все статьи где ид категории или ид категории 2 равен значению. Но пробую написать то же самое в Joomla в хелпере и результат  нулевой. В хелпере есть метод для подгрузки контента через AJAX. Сам код запроса :

Код: php
	$query->clear();
$query->select( '*' )
->from( '#__content' )
->where( 'catid = 1 OR catid = 2' )
->where($db->quoteName('state'). ' = 1')
        ->order($db->quoteName('id'). ' DESC');
 
    $db->setQuery($query, 0, JFactory::getApplication()->input->getInt('num'));
    $ress = $db->loadObjectList();

Результат весьма не однозначный - или не выводит статьи хотя они есть и запрос в мускуле работает, или же, выводит вообще данные, которые не соответствуют условию ( Помогите найти где я затупил

*

voron121

  • Давно я тут
  • ****
  • 222
  • 1
  • Метод тыка и мата помогает в кодинге
UPPDATE --------

Вроде бы разобрался. Применил вот такую конструкцию

Код: php
	$query->clear();
$query->select( '*' )
->from( '#__content' )
->where('( `catid` = 210 or ( `catid` = 2188 ) or ( `opitcat` = 77 ))' )
->where($db->quoteName('state'). ' = 1')
        ->order($db->quoteName('id'). ' DESC');
 
    $db->setQuery($query, 0, JFactory::getApplication()->input->getInt('num'));
    $ress = $db->loadObjectList();