zoukankan      html  css  js  c++  java
  • [moka同学笔记]YII2.0 判断签约状态,sql的两种查询方法

    方法一:

    //判断签约状态
                                    $signed = 0;
                                    $sql="SELECT * from usho_community_sign_record WHERE com_id=$r->id AND
                                    end_date = (SELECT MAX(end_date) AS Largest_End_date from usho_community_sign_record WHERE com_id=$r->id)";
                                    $sign_model = Yii::$app->db->createCommand($sql)->queryAll();
    
                                    if(!empty($sign_model)){
                                           foreach($sign_model as $s){
                                            $start_date = $s['start_date'];
                                            $end_date = $s['end_date'];
                                            $now_date = date("Y-m-d H:i:s",time());
                                            if($start_date >$now_date){
                                                $signed = 3;
                                            }
                                            if($start_date <$now_date && $end_date > $now_date){
                                                $signed = 1;
                                            }elseif($end_date < $now_date){
                                                $signed = 2;
                                            }
                                        }
                                    }
    
                                    switch($signed){
                                        case 0:
                                            echo '<span style="color: #FA031C">未签约</span>';
                                            break;
                                        case 1:
                                            echo '<span style="color: #0AD108">履行中</span>';
                                            break;
                                        case 2:
                                            echo '<span style="color: #999">已完成</span>';
                                            break;
                                        case 3:
                                            echo '<span style="color: #D48905">未开始</span>';
                                            break;
                                        default:
                                            echo '<span style="color: #FA031C">未知</span>';
                                    }

    方法二:

    <?php
                                    //判断签约状态
                                    $signed = 0;
                                    $sign_record = CommunitySignRecord::find()->where(['com_id'=>$r->id])->max('end_date');
                                    $sign_model = CommunitySignRecord::find()->where(['com_id'=>$r->id,'end_date'=>$sign_record])->one();
    
                                    if(!empty($sign_model)){
                                            $start_date = $sign_model->start_date;
                                            $end_date = $sign_model->end_date;
                                            $now_date = date("Y-m-d H:i:s",time());
                                            if($start_date >$now_date){
                                                $signed = 3;
                                            }
                                            if($start_date <$now_date && $end_date > $now_date){
                                                $signed = 1;
                                            }elseif($end_date < $now_date){
                                                $signed = 2;
                                            }
                                    }
    
                                    switch($signed){
                                        case 0:
                                            echo '<span style="color: #FA031C">未签约</span>';
                                            break;
                                        case 1:
                                            echo '<span style="color: #0AD108">履行中</span>';
                                            break;
                                        case 2:
                                            echo '<span style="color: #999">已完成</span>';
                                            break;
                                        case 3:
                                            echo '<span style="color: #D48905">未开始</span>';
                                            break;
                                        default:
                                            echo '<span style="color: #FA031C">未知</span>';
                                    }
                                    ?>
    我生活的地方,我为何要生活。
  • 相关阅读:
    tar命令,vi编辑器
    Linux命令、权限
    Color Transfer between Images code实现
    利用Eclipse使用Java OpenCV(Using OpenCV Java with Eclipse)
    Matrix Factorization SVD 矩阵分解
    ZOJ Problem Set
    Machine Learning
    ZOJ Problem Set
    ZOJ Problem Set
    ZOJ Problem Set
  • 原文地址:https://www.cnblogs.com/hsd1727728211/p/5977449.html
Copyright © 2011-2022 走看看