Посмотреть текст SQL запроса в Yii 2.X

Посмотреть текст запроса SQL без параметров можно так:

list ($sql, $params) = \Yii::$app->db->queryBuilder->build($query);

А если используется yii\data\ActiveDataProvider, то так:

$query = clone $dataProvider->query;

if (($pagination = $dataProvider->getPagination()) !== false)
{
    $pagination->totalCount = $dataProvider->getTotalCount();

    $query->limit($pagination->getLimit())->offset($pagination->getOffset());
}

if (($sort = $dataProvider->getSort()) !== false)
{
    $query->addOrderBy($sort->getOrders());
}

list ($sql, $params) = \Yii::$app->db->queryBuilder->build($query);

echo $sql;

Ну а если вам нужен SQL в финальном виде, с уже подставленными параметрами, экранированием названий таблиц и столбцов, т.е. ровно в том виде, в котором запрос идет к базе данных, то так:

$query->createCommand()->rawSQL;
comments powered by HyperComments