Работа с базой данных. Конструктор запросов к БД Joomla
Еще начиная с версии 1.6 в Joomla появилась возможность создавать объектно-ориентированные запросы.
Новый класс JDatabaseQuery, благодаря которому появилась эта возможность, расположен в libraries/joomla/database/databasequery.php
Для того, чтобы получить объект для создания объектно-ориентированных запросов, делаем так
Полученный объект имеет следующие методы:
Полученный объект имеет следующие методы:
Метод | Описание и примеры |
---|---|
clear |
Очистка запроса перед созданием нового
|
select |
Выборка полей из таблицы/таблиц Строка или массив имен полей таблицы
|
delete |
Удаление данных из таблицы $query->delete(); |
insert |
Вставка новых данных в указанную таблицу Строка или массив имен полей таблицы $query->insert("title"); |
update | Обновление данных в указанной иаблице |
from | Из какой таблицы выбирать данные |
join | Позволяет присоеденять записи двух таблиц |
innerJoin | Оператор внутреннего соединения |
outerJoin | Присоединение таблицы с необязательным присутствием записи в таблице |
leftJoin | возвращает строки из левой таблицы(table_name1), даже если их нет в правой таблице (table_name2). |
rightJoin | возвращает строки из правой таблицы(table_name2), даже если их нет левой таблице (table_name1). |
set | Метод служит для обновления данных в записи или записях, работает в связке с оператором update |
where | Метод служит для создания условий в запросе |
group | Метод для создании групировки результата или нескольких столбцов |
order | Метод для создании сортировки результато по определенному полю |
Комментарии
$db= $this->getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__content as a');
$query->where('a.catid = 9');
$query->where('a.state = 1');
$db->setQuery((strin g) $query);
if (!$db->query()) {
JError::raiseEr ror(500, $db->getErrorMsg());
}
$items = $db->loadObjectList( );