方法一:

//判断签约状态
$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>';
}
?>

[moka同学笔记]YII2.0 判断签约状态,sql的两种查询方法的更多相关文章

  1. [moka同学笔记]yii2.0小物件的简单使用(第一种方法)

    这是第一种方法,还有另一种方法,其实都差不多. 1.在创建widgets\HelloWiget.php <?php /** * Created by PhpStorm. * User: Admi ...

  2. [moka同学笔记]yii2.0查询数据库

      一. [:id占位符]使用 $results = Test::findBySql($sql,array(':id'=>'1 or 1=1))->all()   二. [id=1]  选 ...

  3. [moka同学笔记]yii2.0缓存

    1.控制器中CacheDemoController.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/06/29 ...

  4. [moka同学笔记]Yii2.0 modal的使用

    第一次使用,时候不明白什么原理,大概用了几次后,才模模糊糊搞清楚原来是怎么一回事,现在就把写过的代码,贴在下边. 1.在视图文件中, 第一步首先在index.php文件中 做了一个a链接的按钮 调用了 ...

  5. [moka同学笔记]yii2.0数据库操作以及分页

    1.model中models/article.php 1 <?php 2 3 namespace app\models; 4 5 use Yii; 6 7 /** 8 * This is the ...

  6. [moka同学笔记]Yii2.0验证码

    1.Model中Code.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/07/25 * Time: 10:48 ...

  7. [moka同学笔记]yii2.0表单的使用

    1.创建model   /biaodan.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/08/05 * Tim ...

  8. [moka同学笔记]yii2.0小物件的简单使用(第二种方法)

    1.在widgets/TestWidget.php中 <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/08/05 * T ...

  9. [moka同学笔记]Yii2.0循环查询并对结果累加求和

    在控制器中查询好数据  $model 在视图中输入 <?php foreach($model as $key=>$r):?> <tr class="text-cent ...

随机推荐

  1. [Spring框架] Spring中的 ContextLoaderListener 实现原理.

    前言: 这是关于Spring的第三篇文章, 打算后续还会写入AOP 和Spring 事务管理相关的文章, 这么好的两个周末 都在看code了, 确实是有所收获, 现在就来记录一下. 在上一篇讲解Spr ...

  2. Atitit 图像处理知识点  知识体系 知识图谱

    Atitit 图像处理知识点  知识体系 知识图谱 图像处理知识点 图像处理知识点体系 v2 qb24.xlsx 基本知识图像金字塔op膨胀叠加混合变暗识别与检测分类肤色检测other验证码生成 基本 ...

  3. Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!)

    Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!) [美]]Peter Morville(彼得·莫维尔)  Louis Rosenfeld(路易斯·罗森菲尔德) ...

  4. iOS----Xcode6或者Xcode7设置LaunchImage图标

    最近设置LaunchImage图标时发现怎么都没有效果,后来发现是Xcode6中新建项目的时候会默认添加一个LaunchScreen.xib的文件,我们启动程序的时候也会发现,加载的时LaunchSc ...

  5. 事件异步(EAP)使用事件异步处理一些耗时操作

    比如需要下载一些比较大的文件,如果使用会UI卡顿,使用异步可以节省一些时间 下面是一些例子: using System; using System.Collections.Generic; using ...

  6. cordova开发问题汇总

    cordova开发问题汇总 1. 导入工程的"The import android cannot be resolved"错误解决方法 2. MainActivity] Unabl ...

  7. Java EE开发平台随手记2——Mybatis扩展1

    今天来记录一下对Mybatis的扩展,版本是3.3.0,是和Spring集成使用,mybatis-spring集成包的版本是1.2.3,如果使用maven,如下配置: <properties&g ...

  8. 关于移动开发的一些想法和认识--Android和iOS

    微信公众账号很久没更新了,发一点自己最近的想法和内容. 之前和朋友做了一个项目,现在在跟一些风投,大公司里面的几家在谈合作和投资的事宜,从这个过程中也了解到了一些信息. 关于移动平台的应用开发与游戏开 ...

  9. hibernate(四)ID生成策略

    一.ID生成策略配置 1.ID生成方式在xml中配置方式: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping P ...

  10. Python - Tips

    01 - input与raw_input的区别 input() #可以直接输入数字,但输入字符的要用引号''或者双引号"" raw_input() #将所有的输入都直接当作一串字符 ...