如何记录Yii CDbCriteria

时间:2015-08-06 06:47:28

标签: php yii

有没有办法看到CDbCriteria正在执行查询?

1 个答案:

答案 0 :(得分:1)

我个人在我的配置文件protected/config/main.php

中使用它
// SQL Commands
array(
  'class'=>'CFileLogRoute',
    'maxFileSize' => 30720,
    'maxLogFiles' => 10,
    'rotateByCopy' => true,
  'levels'=>'trace,info,error,warning',
  'logFile'=>'sql.log',
  'categories'=>'system.db.CDbCommand'
),

参考: http://www.yiiframework.com/doc/guide/1.1/en/topics.logging

注意categories索引:http://www.yiiframework.com/doc/api/1.1/CLogRoute#categories-detail

  

类别数组,或以逗号或空格分隔的字符串列表。   默认为空数组,表示所有类别。

CDbCriteria本身不执行查询,它会传递给其他类,如CActiveDataProvider或类似find()等等,最后会调用CDbCommand。所以我们只记录那个类别。

我对术语不太满意,希望你能得到它。