Как я могу увидеть сброс SQL CakePHP в контроллере?


Answers

Если вы используете CakePHP 1.3, вы можете поместить это в свои представления для вывода SQL:

<?php echo $this->element('sql_dump'); ?>

Таким образом, вы можете создать представление под названием «sql», содержащее только строку выше, а затем вызвать это в своем контроллере всякий раз, когда вы хотите его увидеть:

$this->render('sql');

(Также не забудьте установить уровень отладки как минимум 2 в app/config/core.php )

Source

Question

Есть ли способ заставить CakePHP сбрасывать свой SQL-журнал по требованию? Я хотел бы выполнить код до точки в моем контроллере и посмотреть, какой SQL был запущен.







для cakephp 2.0 Запишите эту функцию в AppModel.php

function getLastQuery()
{
    $dbo = $this->getDatasource();
    $logs = $dbo->getLog();
    $lastLog = end($logs['log']);
    return $lastLog['query'];
}

Использовать это в Controller Write: echo $ this-> YourModelName-> getLastQuery ();




В CakePHP 1.2 ..

$db =& ConnectionManager::getDataSource('default');
$db->showLog();



Links



Tags

sql sql   cakephp