Показать запрос Zend Framework

Я хочу показать все запросы в таблице, я пробовал два типа соединения, но я хочу знать лучшую идею

    $AModel = new Model_A();
$select = $AModel->fetchAll($AModel->select()->where('user_id like ?', '%9893%' ));
$rowArray = $select->toArray();
echo '<br><hr>A:<br>';
print  'user-id:'. ($rowArray[0]['user_id']);
echo '<br>next</br>';
print ($rowArray[1]['user_id']);
$BModel = new Model_B();
$select_op = $BModel->select()->from($BModel, array('username','email','password'))->where('username = ?', '76' );
$results = $select_op->query()->fetchAll();
$sql = $select_op->__toString();
echo '<br><hr>B:<br>';
echo '<p>My SQL: ' . $results . '</p>';

1

Решение

Использовать Zend_Db_Profiler

$profiler = $db->getProfiler();
$totalTime    = $profiler->getTotalElapsedSecs();
$queryCount   = $profiler->getTotalNumQueries();
$longestTime  = 0;
$longestQuery = null;

foreach ($profiler->getQueryProfiles() as $query) {
if ($query->getElapsedSecs() > $longestTime) {
$longestTime  = $query->getElapsedSecs();
$longestQuery = $query->getQuery();
}
}

echo 'Executed ' . $queryCount . ' queries in ' . $totalTime .
' seconds' . "\n";
echo 'Average query length: ' . $totalTime / $queryCount .
' seconds' . "\n";
echo 'Queries per second: ' . $queryCount / $totalTime . "\n";
echo 'Longest query length: ' . $longestTime . "\n";
echo "Longest query: \n" . $longestQuery . "\n";
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]