1. YII 使用原生SQL

1.1查询单个表

//查表得到 svn path$connection = Yii::app()->db;$sql = "SELECT * FROM code_coverage_project WHERE id = $code_id   LIMIT  1 ";$command = $connection->createCommand($sql);$rows = $command->queryAll();$count_rows = count($rows);//异常处理if (0 == $count_rows){$msg = Yii::t('TOAST', 'No Result  For The Code Id!');header('Content-type: text/html; charset=UTF-8');echo json_encode(array('error' => 1, 'message' => $msg));exit;}$svn_path = $rows[0]['path']; //异常检测

1.2查询多个表

/**@根据类名,查找对应版本的覆盖率* *@$code_id   = 393;*@$version_1 = 119577;*@$version_2 = 120046;*@$classname = $array_filtered_calsses[0][0];*@print_r($classname);*@return;* */$connection = Yii::app()->db;$sql_class_and_versions = "SELECT code_coverage.reversion_id,code_qulity_class_covery.id,code_qulity_class_covery.classname,code_qulity_class_covery.linecoverd,code_qulity_class_covery.linemissed,code_qulity_class_covery.coverdrateFROMcode_qulity_class_coveryLEFT JOIN code_coverageONcode_qulity_class_covery.code_covery_id = code_coverage.idWHEREcode_coverage.code_project_id = $code_id ANDcode_coverage.reversion_id IN ($version_1, $version_2) ANDcode_qulity_class_covery.classname IN ($classname_for_sql_in); ";$command_for_calss_and_versions=$connection->createCommand($sql_class_and_versions);$rows_for_calss_and_versions = $command_for_calss_and_versions->queryAll();$count_rows = count($rows_for_calss_and_versions);if (0 == count($rows_for_calss_and_versions)){$msg = Yii::t('TOAST', "Sorry,no record matches in the database!");header('Content-type: text/html; charset=UTF-8');echo json_encode(array('error' => 1, 'message' => $msg));exit;}

2. 有关正则

 /** 从变动的文件列表提取类名*/ $count = 0;$array_dot_java = array();$array_change_classname = array();$pattern_java = '/.*java$/';$pattern_for_calss ='/cn\/com.*\/[A-z]*/';foreach ($arr_change_files as $values){if(preg_match($pattern_java,$values)) //过滤得到.java结尾的记录{$array_dot_java[] = $values;if(preg_match($pattern_for_calss,$values,$matchs)) //过滤得到类名{$matchs[0]=preg_replace('/\//', '.', $matchs[0]); // 替换类名中的 “/"$array_change_classname[] = $matchs;}}}if (0 == count($array_change_classname)){$msg = Yii::t('TOAST', "No class changes between the tow versions!");header('Content-type: text/html; charset=UTF-8');echo json_encode(array('error' => 1, 'message' => $msg));exit;}//根据package name 过滤 classname$array_filtered_calsses = array();$pattern_to_filter_class = "/.*$package_name.*/"; // cn.com.autofans.user.service.impforeach($array_change_classname as $valus_to_filter_class){if(preg_match($pattern_to_filter_class,$valus_to_filter_class[0])){$array_filtered_calsses[] = $valus_to_filter_class;}}if (0 == count($array_filtered_calsses)){$msg = Yii::t('TOAST', "No classes matches the packet that post from pages!");header('Content-type: text/html; charset=UTF-8');echo json_encode(array('error' => 1, 'message' => $msg));exit;}

3. array()处理

  /** 查询结果解析转换为 符合json的形式* $version_1 = 119577;* $version_2 = 120046;*/$r_version_1 = "r".$version_1;$r_version_2 = "r".$version_2;$arr_json_classname = array();$arr_json_rate      = array();$arr_just_rate      = array();$arr_json_rate[$r_version_1] = array();$arr_json_rate[$r_version_2] = array();foreach($array_filtered_calsses as $values_switch_to_json){$arr_json_classname [] = $values_switch_to_json[0];  //类名处理$arr_just_rate[$version_1] [$values_switch_to_json[0]] = 0;$arr_just_rate[$version_2] [$values_switch_to_json[0]] = 0;}foreach ($arr_json_classname as  $values_calssname){foreach($rows_for_calss_and_versions as $values_switch_to_json_rate){if($version_1 == $values_switch_to_json_rate['reversion_id']){if ($values_calssname == $values_switch_to_json_rate ['classname']){$arr_just_rate [$version_1][$values_calssname] = $values_switch_to_json_rate['coverdrate'];}}if($version_2 == $values_switch_to_json_rate['reversion_id']){if ($values_calssname == $values_switch_to_json_rate ['classname']){$arr_just_rate [$version_2][$values_calssname] = $values_switch_to_json_rate['coverdrate'];}}}}foreach ($arr_just_rate [$version_1] as $value_last){$arr_version_1 []= floatval($value_last);}foreach ($arr_just_rate [$version_2] as $value_last){$arr_version_2 []= floatval($value_last);}foreach($arr_json_classname as $value_to_cut_classname){$pattern = "/".$package_name."./";$replacement = '';$temp_classname = preg_replace($pattern,$replacement,$value_to_cut_classname);$array_just_classname [] = $temp_classname;}$data_temp = array($r_version_1 => $arr_version_1,$r_version_2 =>$arr_version_2 );$xaxis = $array_just_classname;$data = $data_temp;
//      $xaxis = array(  'class A', 'class B', 'class C', 'Class D', 'Class E' );
//      $data = array( 'r12345'=>array(48.9, 38.8, 39.3, 41.4, 47.0), 'r67890'=>array(62.4, 53.2, 54.5, 59.7, 72.6));echo json_encode(array('xaxis'=>$xaxis, 'coverdata'=>$data));

【YII】常用代码积累相关推荐

  1. C#和C常用的API操作窗口的代码积累

    C#和C常用的API操作窗口的代码积累 IntPtr awin = MouseHookHelper.FindWindow("WeChatMainWndForPC", "微 ...

  2. pytorch常用代码

    20211228 https://mp.weixin.qq.com/s/4breleAhCh6_9tvMK3WDaw 常用代码段 本文代码基于 PyTorch 1.x 版本,需要用到以下包: impo ...

  3. 一、PyTorch Cookbook(常用代码合集)

    PyTorch Cookbook(常用代码合集) 原文链接:https://mp.weixin.qq.com/s/7at6y2NcYaxGGN8syxlccA 谢谢作者的付出.

  4. GitHub上7000+ Star的Python常用代码合集

    作者 | 二胖并不胖 来源 | 大数据前沿(ID:bigdataqianyan) 今天二胖给大家介绍一个由一个国外小哥用好几年时间维护的Python代码合集.简单来说就是,这个程序员小哥在几年前开始保 ...

  5. 收藏!PyTorch常用代码段合集

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Jack Stark,来源:极市平台 来源丨https://zhu ...

  6. PyTorch常用代码段合集

    ↑ 点击蓝字 关注视学算法 作者丨Jack Stark@知乎 来源丨https://zhuanlan.zhihu.com/p/104019160 极市导读 本文是PyTorch常用代码段合集,涵盖基本 ...

  7. JavaScript常用代码

    在这存一下JavaScript常用代码: 1.封装输出 1 var log = function() { 2 console.log.apply(console, arguments) 3 } 4 5 ...

  8. javascript常用代码大全

    http://caibaojian.com/288.html     原文链接 jquery选中radio//如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_ca ...

  9. mysql四列数据表代码_MySQL数据库常用代码

    MySQL数据库常用代码启动数据库服务:[ net Start MySQL ] 使用命令登录:[ Mysql -h localhost -u root -p] 关闭数据库服务: [net stop m ...

最新文章

  1. redis mysql排行榜实现_redis实现排行榜
  2. 微信浏览器跳转页面加载loading效果问题
  3. 用 PHP 调用 MySQL 存储过程
  4. 万物皆为向量:在线向量召回工程服务化实践
  5. 8.10 exec函数
  6. python读取txt文件并写入excel-Python实现读取并写入Excel文件过程解析
  7. 关闭Visual Studio中的自动代码分析
  8. c++使用cin输入数据
  9. U3D assetbundle打包
  10. USACO SECTION 1.1.2 Transformations 爆搜
  11. 考虑玩家移动速度的射击
  12. 韩国各大银行纷纷开始引进区块链技术
  13. 实验4-1-4 求整数的位数及各位数字之和 (15 分)
  14. 3分钟学会python_3分钟学会,学会用Python正确读取大文件
  15. tensorflow.python.framework.errors_impl.NotFoundError: Could not find valid device for node.
  16. 六、瞰景Smart3D三维重建
  17. Doubly Linked List in Python
  18. html摇色子游戏,Swipebox – 用于触屏设备的精...-html5摇骰子游戏-lightbox——解析_169IT.COM...
  19. 关于码距、检错、纠错
  20. 32python腾讯位置大数据2.0版本成功输出北京位置数据(续接上2019年8月21日停止服务的内容)

热门文章

  1. VIVADO时序约束及STA基础
  2. 【跃迁之路】【737天】程序员高效学习方法论探索系列(实验阶段494-2019.2.27)...
  3. 从ASCII到UTF-8——字符集到底是什么?
  4. javascript 模块化(一)——SeaJS
  5. unity3d自动寻路教程
  6. .net 发送电子邮件
  7. 免费UNIX体验中心
  8. 【BlackHat】亚马逊和谷歌修复DNS即平台中的严重漏洞
  9. 恶意广告活动利用 WebKit 0day 实施欺诈
  10. GitHub练习——如何将本地已有项目添加到github