方法一:

//判断签约状态
$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. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  2. 处于同一个域中的两台Sql server 实例无法连接

    处于同一个域中的两台Sql server 实例无法连接,报的错误信息如下: A network-related or instance-specific error occurred while es ...

  3. 本地MVC项目发布到IIS服务器

    0瞎扯 朋友们有时候我们写个一个web程序只能使用卡西尼服务器调试,下面我教大家发布到IIS服务器上(包括本地ISS7.5和远程服务器 IIS) 1.VS发布 a.点击web项目->发布

  4. 开发笔记:用Owin Host实现脱离IIS跑Web API单元测试

    今天在开发一个ASP.NET Web API项目写单元测试时,实在无法忍受之前的笨方法,决定改过自新. 之前Web API的单元测试需要进行以下的操作: 初始配置: 1)在IIS中创建一个站点指定We ...

  5. 哈夫曼树(一)之 C语言详解

    本章介绍哈夫曼树.和以往一样,本文会先对哈夫曼树的理论知识进行简单介绍,然后给出C语言的实现.后续再分别给出C++和Java版本的实现:实现的语言虽不同,但是原理如出一辙,选择其中之一进行了解即可.若 ...

  6. Linux的学习--系统目录

    因为利用Linux来开发产品或distributions的社群/公司与个人实在太多了, 如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰. 你能想象,你进入一个企业之后,所 ...

  7. Yii的学习(3)--查询生成器 (Query Builder)

    原文地址:http://www.yiiframework.com/doc/guide/1.1/en/database.query-builder 不过原文是英文的,Yii的官网没有翻译这一章,自己就尝 ...

  8. 帮助你实现漂亮界面的14套免费的 HTML/CSS 源码

    在网络上能找很多免费的 PSD 格式素材,但是很少有 HTML/CSS 界面组件下载.在这篇文章中,收集了14套免费的 HTML/CSS 界面源码分享给前端设计师和开发者们.这些组件包括按钮.滑块.表 ...

  9. [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  10. Hyperledger中数据存取的实现

    简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储,其中key是字符串,value则是二进制字节数组,Hyperledg ...