Fix functional test query logger
DebugStack starts queries array from index 1 rather than 0 so the last query was never printed. Also array params caused an 'Array to string conversion' error
This commit is contained in:
parent
31a0c02b06
commit
0da6669fac
@ -750,10 +750,10 @@ abstract class OrmFunctionalTestCase extends OrmTestCase
|
||||
|
||||
if(isset($this->_sqlLoggerStack->queries) && count($this->_sqlLoggerStack->queries)) {
|
||||
$queries = "";
|
||||
for($i = count($this->_sqlLoggerStack->queries)-1; $i > max(count($this->_sqlLoggerStack->queries)-25, 0) && isset($this->_sqlLoggerStack->queries[$i]); $i--) {
|
||||
$query = $this->_sqlLoggerStack->queries[$i];
|
||||
$params = array_map(function($p) { if (is_object($p)) return get_class($p); else return "'".$p."'"; }, $query['params'] ?: array());
|
||||
$queries .= ($i+1).". SQL: '".$query['sql']."' Params: ".implode(", ", $params).PHP_EOL;
|
||||
$last25queries = array_slice(array_reverse($this->_sqlLoggerStack->queries, true), 0, 25, true);
|
||||
foreach ($last25queries as $i => $query) {
|
||||
$params = array_map(function($p) { if (is_object($p)) return get_class($p); else return var_export($p, true); }, $query['params'] ?: array());
|
||||
$queries .= $i.". SQL: '".$query['sql']."' Params: ".implode(", ", $params).PHP_EOL;
|
||||
}
|
||||
|
||||
$trace = $e->getTrace();
|
||||
|
Loading…
x
Reference in New Issue
Block a user