echo full joomla查询(带限制等)?

Sou*_*aby 9 php joomla1.5

我想知道是否有办法用限制和限制启动来回显整个查询.我可以回显行$查询,但我想看看为什么限制不起作用我似乎无法得到它显示它发送到数据库的实际查询..这是代码:

$params =& JComponentHelper::getParams('com_news');
$limit = $params->get('x_items', 5);
$limitstart = JRequest::getVar('limitstart', 0);

$query = "SELECT * FROM #__news WHERE published = 1 AND catid = ".$Itemid." ORDER BY date DESC";
$db->setQuery($query, $limitstart, $limit);
$rows = $db->loadObjectList();
Run Code Online (Sandbox Code Playgroud)

$ db-> getQuery($ query,$ limitstart,$ limit); 仅显示"SELECT*FROM jos_news WHERE published = 1 AND catid = 8 ORDER BY date DESC",它在查询结尾处没有LIMIT参数.

任何帮助,将不胜感激 :)

J.M*_*ney 20

JDatabaseQuery对象具有__toString()输出查询的函数,因此您可以执行以下操作:

echo $db->getQuery();
Run Code Online (Sandbox Code Playgroud)

或者,如果要将其传递给函数,可以先将其显式转换为字符串:

var_dump((string)$db->getQuery());
Run Code Online (Sandbox Code Playgroud)


jos*_*ilo 4

var_dump($db);die;
Run Code Online (Sandbox Code Playgroud)

通话后执行此操作loadObjectList()。变量内部$db必须有一个_sql属性,该属性是最后执行的查询。