Angenommen, Sie haben eine Abfrage mit Joomla erstellt.
// 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();
Beispiel von hier: https://docs.joomla.org/Selecting_data_using_JDatabase
Gibt es einen Befehl zum Ausdrucken der Abfrageanweisung (nicht das Ergebnis, sondern das tatsächliche SQL)?
joomla-3.x
database
Mat Kay
quelle
quelle
Antworten:
Sie müssen __toString () echo
Weitere Informationen finden Sie hier
https://docs.joomla.org/API16:JDatabaseQuery/_toString
Ich hoffe es hilft
quelle
#__
.Sie können auch die
replacePrefix
Funktion von Joomla verwenden, die die Abfrage in einem Format ausgibt, das direkt in PhpMyAdmin eingefügt werden kann.Hier ist ein Beispiel:
Gibt Folgendes aus:
quelle
Sie können auch die native
dump()
Methode verwenden:echo $query->dump();
quelle
Das
JDatabaseQuery
Objekt verfügt über eine__toString()
Funktion, die die Abfrage ausgibt, sodass Sie Folgendes ausführen können:Oder wenn Sie es an eine Funktion übergeben möchten, können Sie es zuerst explizit in einen String umwandeln:
quelle
Mit der Joomla-Debug-Funktion erhalten Sie viele Informationen zu den Abfragen, die beim Laden Ihrer Website ausgeführt werden.
quelle
wird gut tun.
Dies nutzt diesen Code
quelle