Как посмотреть sql запрос yii2
В Yii2 существует несколько способов посмотреть SQL запросы, которые генерируются фреймворком. Вот несколько способов:
- Вывод SQL запроса в логах Yii2
Вы можете настроить Yii2 таким образом, чтобы он записывал SQL запросы в логи. Для этого в файле конфигурации вашего приложения (обычно config/main.php
или config/db.php
) добавьте следующий код:
return [
// другие настройки
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=mydatabase',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'enableSchemaCache' => true,
'enableQueryCache' => true,
'queryCacheDuration' => 3600,
'schemaCacheDuration' => 3600,
'enableLogging' => true, // Включаем логирование SQL запросов
],
],
];
- Использование дебаггера Yii2:
Yii2 поставляется с встроенным дебаггером, который позволяет просматривать выполненные SQL запросы на странице. Для этого включите дебаггер в файле конфигурации, добавив следующий код:
return [
// другие настройки
'modules' => [
'debug' => [
'class' => 'yii\debug\Module',
],
],
];
После этого, откройте URL http://yourapp.com/index.php?r=debug
для просмотра выполняемых SQL запросов.
- Использование ActiveRecord
Если вы используете ActiveRecord в Yii2, вы можете использовать метод getRawSql()
для просмотра сгенерированного SQL запроса. Например:
$query = \app\models\Post::find()
->where(['status' => 1])
->andWhere(['>', 'created_at', time() - 3600])
->orderBy('created_at DESC')
->limit(10);
echo $query->createCommand()->getRawSql();