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.

+

<source lang="php">

+

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();

+

}

+

</source>

Latest revision as of 19:36, 7 March 2011

This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

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.