Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/08/2012, 04:35
Avatar de Dundee
Dundee
 
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Programación back-end Joomla

Hola gente, estoy tratando de aprender a programar extensiones con joomla 2.5 y me ha surgido una duda que no consigo aclarar.

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:
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;
	}
Gracias de antemano.
__________________
Videotutoriales de Drupal