【YII】常用代码积累
来源:互联网 发布:卖家赠送的淘宝运费险 编辑:程序博客网 时间:2024/06/06 08:42
1. YII 使用原生SQL
1.1查询单个表
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.coverdrate FROM code_qulity_class_covery LEFT JOIN code_coverage ON code_qulity_class_covery.code_covery_id = code_coverage.id WHERE code_coverage.code_project_id = $code_id AND code_coverage.reversion_id IN ($version_1, $version_2) AND code_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.imp foreach($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));
0 0
- 【YII】常用代码积累
- c语言常用代码积累
- Yii小技巧积累
- 【iPhone开发常用代码积累】 归 档
- 【iPhone开发常用代码积累】UIWebView
- Form开发积累的常用代码
- 【Web前端】:JavaScript常用代码积累
- 【代码积累】Binding的常用写法
- Yii使用中小知识点积累
- 代码积累
- 【iPhone开发常用代码积累】各种路径的获取方法
- EBS开发——Form开发积累的常用代码
- EBS开发——Form开发积累的常用代码
- EBS开发——Form开发积累的常用代码
- Android——常用代码段积累(一)
- 积累一些常用的功能的代码片段。持续更新
- 积累代码VS积累经验
- Yii CDbCriteria常用用法
- requireJS入门学习
- [BZOJ1221][HNOI2001] 软件开发(费用流)
- 【项目经验】 Html Select 遇上 Easyui
- android Menu菜单的使用
- Nginx + Tomcat HTTPS/SSL 配置方法 ——申请证书
- 【YII】常用代码积累
- yuekao=fragment1
- opcv 使用
- Pixhawk基于Radio地面站发送指令
- 关于/dev/null及用途
- [leetcode] 170. Two Sum III – Data structure design
- 计算年月日函数
- 将你的手机变为放大镜
- CardView去除阴影,CardView动态改变item文字