Yii 打印Sql
<span style="font-family:Helvetica;font-size:14px;">想查看如下结果,但由于较大,var_dump时浏览器会崩溃,于是想到如果知道执行的sql是什么,那么就可以推出执行后的结果是什么。 </span><br style="line-height: 25px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px;" />
//1,在 ../config/main.php里增加"class"=>"CProfileLogRoute"
"log"=>array(
"class"=>"CLogRouter",
"routes"=>array(
array(
"class"=>"CFileLogRoute",
"levels"=>"error, warning",
),
/* 此处为本次增加 */
array(
"class"=>"CProfileLogRoute",
),
// uncomment the following to show log messages on web pages
/*
array(
"class"=>"CWebLogRoute",
),
*/
),
),
//2,在源码处增加三行代码
$c = new CDbCriteria();
$c->join = "JOIN idc_user on t.id=idc_user.user_id";
$c->condition = "idc_user.idc_id=$idc_id";
Yii::beginProfile("block1");
$r = User::model()->with("Idcs")->findAll($c);
Yii::endProfile("block1");
//整理打印结果如下
SELECT `t`.`id` AS `t0_c0` , `t`.`username` AS `t0_c1` , `t`.`password` AS `t0_c2` , `t`.`display_name` AS `t0_c3` , `t`.`tel` AS `t0_c4` , `t`.`mobile` AS `t0_c5` , `t`.`email` AS `t0_c6` , `t`.`hi_id` AS `t0_c7` , `t`.`company_id` AS `t0_c8` , `t`.`last_login_at` AS `t0_c9` , `t`.`last_pwd_updated_at` AS `t0_c10` , `t`.`created_at` AS `t0_c11` , `Idcs`.`id` AS `t1_c0` , `Idcs`.`name` AS `t1_c1` , `Idcs`.`desc` AS `t1_c2` , `Idcs`.`created_at` AS `t1_c3` , `Idcs`.`chinese_name` AS `t1_c4` , `Idcs`.`clientele` AS `t1_c5` , `Idcs`.`contact_man` AS `t1_c6` , `Idcs`.`contact_phone` AS `t1_c7` , `Idcs`.`post_code` AS `t1_c8` , `Idcs`.`address` AS `t1_c9` , `Idcs`.`email` AS `t1_c10` , `Idcs`.`weight` AS `t1_c11` , `Idcs`.`pool_id` AS `t1_c12` , `Idcs`.`provider_id` AS `t1_c13`
FROM `user` `t`
JOIN idc_user ON t.id = idc_user.user_id
LEFT OUTER JOIN `idc_user` `Idcs_Idcs` ON ( `t`.`id` = `Idcs_Idcs`.`user_id` )
LEFT OUTER JOIN `idc` `Idcs` ON ( `Idcs`.`id` = `Idcs_Idcs`.`idc_id` )
WHERE (
idc_user.idc_id =6
)
//打印结果如下
block2 1 0.01122 0.01122 0.01122 0.01122
system.db.CDbCommand.query(SELECT `t`.`id` AS `t0_c0`, `t`.`username` AS `t0_c1`, `t`.`password` AS `t0_c2`, `t`.`display_name` AS `t0_c3`, `t`.`tel` AS `t0_c4`, `t`.`mobile` AS `t0_c5`, `t`.`email` AS `t0_c6`, `t`.`hi_id` AS `t0_c7`, `t`.`company_id` AS `t0_c8`, `t`.`last_login_at` AS `t0_c9`, `t`.`last_pwd_updated_at` AS `t0_c10`, `t`.`created_at` AS `t0_c11`, `Idcs`.`id` AS `t1_c0`, `Idcs`.`name` AS `t1_c1`, `Idcs`.`desc` AS `t1_c2`, `Idcs`.`created_at` AS `t1_c3`, `Idcs`.`chinese_name` AS `t1_c4`, `Idcs`.`clientele` AS `t1_c5`, `Idcs`.`contact_man` AS `t1_c6`, `Idcs`.`contact_phone` AS `t1_c7`, `Idcs`.`post_code` AS `t1_c8`, `Idcs`.`address` AS `t1_c9`, `Idcs`.`email` AS `t1_c10`, `Idcs`.`weight` AS `t1_c11`, `Idcs`.`pool_id` AS `t1_c12`, `Idcs`.`provider_id` AS `t1_c13` FROM `user` `t` JOIN idc_user on t.id=idc_user.user_id LEFT OUTER JOIN `idc_user` `Idcs_Idcs` ON (`t`.`id`=`Idcs_Idcs`.`user_id`) LEFT OUTER JOIN `idc` `Idcs` ON (`Idcs`.`id`=`Idcs_Idcs`.`idc_id`) WHERE (idc_user.idc_id=6)) 1 0.00086 0.00086 0.00086 0.00086
system.db.CDbCommand.query(SHOW COLUMNS FROM `user`) 1 0.00083 0.00083 0.00083 0.00083
system.db.CDbCommand.query(SHOW COLUMNS FROM `idc`) 1 0.00078 0.00078 0.00078 0.00078
system.db.CDbCommand.query(SHOW COLUMNS FROM `idc_user`) 1 0.00060 0.00060 0.00060 0.00060
system.db.CDbCommand.query( SELECT data FROM YiiSession WHERE expire>1339135578 AND id=:id ) 1 0.00047 0.00047 0.00047 0.00047
system.db.CDbCommand.query(SELECT * FROM `user` `t` WHERE `t`.`id`=8 LIMIT 1) 1 0.00045 0.00045 0.00045 0.00045
system.db.CDbCommand.query(SHOW CREATE TABLE `user`) 1 0.00038 0.00038 0.00038 0.00038
system.db.CDbCommand.query(SHOW CREATE TABLE `idc`) 1 0.00038 0.00038 0.00038 0.00038
system.db.CDbCommand.query(SHOW CREATE TABLE `idc_user`) 1 0.00036 0.00036 0.00036 0.00036 声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
