Supongamos que ha construido una consulta con Joomla.
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select all records from the user profile table where key begins with "custom.".
// Order it by the ordering field.
$query->select($db->quoteName(array('user_id', 'profile_key', 'profile_value', 'ordering')));
$query->from($db->quoteName('#__user_profiles'));
$query->where($db->quoteName('profile_key') . ' LIKE '. $db->quote('\'custom.%\''));
$query->order('ordering ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
// Load the results as a list of stdClass objects (see later for more options on retrieving data).
$results = $db->loadObjectList();
Ejemplo desde aquí: https://docs.joomla.org/Selecting_data_using_JDatabase
¿Existe un comando para imprimir la declaración de consulta (no los resultados sino el SQL real)?
joomla-3.x
database
Mat Kay
fuente
fuente
Respuestas:
necesitas hacer eco de __toString ()
puedes encontrar más información aquí
https://docs.joomla.org/API16:JDatabaseQuery/_toString
Espero eso ayude
fuente
#__
.También puede usar la
replacePrefix
función de Joomla, que descarga la consulta en un formato que se puede insertar directamente en los gustos de PhpMyAdmin.Aquí hay un ejemplo:
Producirá lo siguiente:
fuente
También puede usar el
dump()
método nativo :echo $query->dump();
fuente
El
JDatabaseQuery
objeto tiene una__toString()
función que genera la consulta para que pueda hacer:O si desea pasarlo a una función, puede convertirlo explícitamente en una cadena primero:
fuente
La función de depuración de Joomla le dará mucha información sobre las consultas que se ejecutan cuando se carga su sitio web.
fuente
Lo haré bien.
esto hace uso de este código
fuente