En el modelo utilizo el método getListQuery() para establecer mi consulta a la bd, pero no comprendo porque hace esto $db = $this->getDbo(); , ¿no se supone que el objeto de conex a la base d datos es $query?, ¿por qué tiene que crear un nuevo objeto de conex a la bd?.
Código:
  
Gracias de antemano. public function getListQuery()
	{
		$query = parent::getListQuery();
		$query->select('*');
		$query->from('#__explore_activities');
 
                $published = $this->getState('filter.published');
                /*En caso de no tener valor devuele los publicados y despublicados
                ,No los archivados y demás
                */
		if ($published == '') {
			$query->where('(published = 1 OR published = 0)');
		} 
                /*En caso de NO ser igual a la * (asterisco) devuelve lo que valga published
                 * 0-Unpublished, 1-Published, 2-Archived, -2-Trasehed , es decir los publicados ó los NO publicados
                 */
                else if ($published != '*') {
			$published = (int) $published;
			$query->where("published = '{$published}'");
		}
                
                $search = $this->getState('filter.search');
		$db = $this->getDbo();
		if (!empty($search)) {
			$search = '%' . $db->getEscaped($search, true) . '%';
			$field_searches =
				"(activity_description LIKE '{$search}' OR " .
				"activity_name LIKE '{$search}')";
			$query->where($field_searches);
		}
		return $query;
	}
 
 



