yii2.0 怎么打印自动生成的创建sql语句

2025-05-08 02:28:51
推荐回答(2个)
回答1:

yii2 的debug工具条可以看到所有东西,比如log和sql(所有执行的sql)都可以找到,
一般都是默认开启的(除非你在执行\init这个脚本的时候,选择了生产环境)
如果没有,可以在配置文件中加入:
config['bootstrap'][] = 'debug';
$config['modules']['debug'] = [
'class' => 'yii\debug\Module',
'allowedIPs' => ['127.0.0.1', '::1'],
];
然后刷新页面,就可以在底部看到debug工具栏了
如果你的应用是restful的,会看不到debug工具栏,不过你可以从其他页面进入debug页面,在那里面可以选择哪个请求所发生的sql。具体自己慢慢看界面吧,文字难说

回答2:

在config/main.php中

'components'=>array(

'db'=>array(

'enableParamLogging' => true,//增加这行
),

'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'trace, info error, warning', //日志标准增加trace, info
),
),
),

)

在你的application.log中可以直接查看, 另外一种方法,也是最方便的就是安装debugtoolbar扩展,开发必备.