Suponha que você tenha construído uma consulta com o 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();
Exemplo daqui: https://docs.joomla.org/Selecting_data_using_JDatabase
Existe um comando para imprimir a instrução de consulta (não os resultados, mas o SQL real)?
joomla-3.x
database
Mat Kay
fonte
fonte
Respostas:
você precisa ecoar __toString ()
você pode obter mais informações aqui
https://docs.joomla.org/API16:JDatabaseQuery/_toString
Espero que ajude
fonte
#__
.Você também pode usar a
replacePrefix
função do Joomla, que despeja a consulta em um formato que pode ser inserido diretamente nos gostos do PhpMyAdmin.Aqui está um exemplo:
Produzirá o seguinte:
fonte
Você também pode usar o
dump()
método nativo :echo $query->dump();
fonte
O
JDatabaseQuery
objeto possui uma__toString()
função que gera a consulta para que você possa fazer:Ou, se você deseja passá-lo para uma função, pode convertê-lo explicitamente em uma string primeiro:
fonte
O recurso de depuração do Joomla fornecerá muitas informações sobre as consultas executadas quando o site for carregado.
fonte
vai dar certo.
isso faz uso desse código
fonte