Как посмотреть 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 запроса. Например:<?php $query = \app\models\Post::find() ->where(['status' => 1]) ->andWhere(['>', 'created_at', time() - 3600]) ->orderBy('created_at DESC') ->limit(10); echo $query->createCommand()->getRawSql();