我有以下代码从db获取一些记录
$criteria = new CDbCriteria(); $criteria->condition = 't.date BETWEEN "'.$from_date.'" AND "'.$to_date.'"'; $criteria->with = array('order'); $orders = ProductOrder::model()->findAll($criteria);
您可以将执行的查询记录在应用程序日志中并进行审查.在配置文件中这样的东西:
'components' => array( 'db'=>array( 'enableParamLogging' => true,),'log'=>array( 'class'=>'CLogRouter','routes'=>array( array( 'class'=>'CFileLogRoute','levels'=>'trace,log','categories' => 'system.db.CDbCommand','logFile' => 'db.log',);
在某些情况下(例如运行测试时),您还需要调用Yii :: app() – > log-> processLogs(null);在这个工作的最后阶段.
当然,一旦你没有什么阻止你编写自己的日志路由,它与记录的消息不同,但是请记住在请求结束时处理日志(或者当你调用processLogs时),而不是每次你记录一些东西
顺便说一下,您不应该在查询中使用动态输入来构建这样的查询.改用绑定变量:
$criteria = new CDbCriteria(); $criteria->condition = 't.date BETWEEN :from_date AND :to_date'; $criteria->params = array( ':from_date' => $from_date,':to_date' => $to_date,); $criteria->with = array('order'); $orders = ProductOrder::model()->findAll($criteria);
原文地址:https://www.jb51.cc/php/132838.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。