JDatabaseQuery
[Edit Descripton] Description:JDatabaseQuery
Contents
Defined in
libraries/joomla/database/databasequery.php
Methods
| Method name | Description |
|---|---|
| clear | Clear data from the query or a specific clause of the query. |
| select | |
| delete | |
| insert | |
| update | |
| from | |
| join | |
| innerJoin | |
| outerJoin | |
| leftJoin | |
| rightJoin | |
| set | |
| where | |
| group | |
| having | |
| order | |
| __toString | string The completed query |
Importing
jimport( 'joomla.database.databasequery' );
[Edit See Also] SeeAlso:JDatabaseQuery
Examples
<CodeExamplesForm />
Simple Example
The following is a very simple use of the JDatabaseQuery class:
function getListQuery() { $query = new JDatabaseQuery(); $query->select('*'); $query->from('#__categories'); return $query; }
Complex Example
Consider a case in which we have three tables called "property", "building" and "unit". The primary keys for these tables are "property_id", "building_id" and "unit_id", respectively. We want to build a method which returns the number of units associated with a property_id which is passed to our method. The unit table has no direct relationship to the property table. It does have a relationship to the building table, which in turn has a relationship to the property table. The following method will build the query and execute it, returning the value for which we're looking.
function countUnits($property_id) { $db =& JFactory::getDBO(); $query = $db->getQuery(true); $query->select('count(*)'); $query->from('#__pt_building AS b'); $query->leftJoin('#__pt_unit AS u ON b.building_id = u.building_id'); $query->where('b.property_id = '. (int) $property_id); $db->setQuery($query); return $db->loadResult(); }