web-gelistirme-sc.com

Bir Joomla sorgusunu nasıl yazdırabilirim?

Joomla ile bir sorgu oluşturduğunuzu varsayalım.

// 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();

Buradan örnek: https://docs.joomla.org/Selecting_data_using_JDatabase

Sorgu deyimini yazdırmak için bir komut var mı (sonuçları değil gerçek SQL)?

14
Mat Kay

__toString () yankılamanız gerekir

echo($query->__toString());

buradan daha fazla bilgi alabilirsiniz

https://docs.joomla.org/API16:JDatabaseQuery/_toString

Umarım yardımcı olur

18
Piero Marsilio

Joomla'nın doğrudan PhpMyAdmin'in beğenisine eklenebilecek bir formatta sorguya döken replacePrefix fonksiyonunu da kullanabilirsiniz.

İşte bir örnek:

$db = JFactory::getDbo();

$query = $db->getQuery(true);
$query->select($db->quoteName('something'))
      ->from($db->quoteName('#__content')); 
$db->setQuery($query);

// Dump the query
echo $db->replacePrefix((string) $query);

Aşağıdaki çıktıyı verecektir:

SELECT `something` FROM `jos_content`
9
Lodder

Ayrıca yerel dump() yöntemini de kullanabilirsiniz: echo $query->dump();

5
Dmitry Rekun

JDatabaseQuery nesnesinin, aşağıdakileri yapabilmeniz için sorguyu veren bir __toString() işlevi vardır:

echo $db->getQuery();

Veya bir işleve geçirmek istiyorsanız, önce açıkça bir dizeye yayınlayabilirsiniz:

var_dump((string)$db->getQuery());
4
Joomler

Joomla hata ayıklama özelliği, web siteniz yüklendiğinde yürütülen sorgular hakkında birçok bilgi sağlar.

0
Klaus Veliu
echo $query;

iyi olacak.

bu, bu kodu kullanır

echo($query->__toString());
0