mysql - YII2获取10年5年后的日期

标签 mysql yii2-advanced-app

这是表结构。

tbl_员工

firstname varchar(50)
midname varchar(50)
lastname varchar(50)
...

tbl_staff2

first_day_of_service date
...

这是场景。 员工在组织工作的头 10 年,将获得忠诚奖,并在他/她获得头 10 年后每 5 年一次。

我的初始代码只会获取员工姓名和第一天服务的日期。

public function actionGet_loyalty() {

        $query = (new \yii\db\Query())
                ->select(['firstname', 'midname', 'lastname', 'first_day_service'])
                ->from('tbl_staff')
                ->limit(100)
                ->offset(0)
                ->orderBy('first_day_service')
                ->leftJoin('tbl_staff2', 'tbl_staff2.staff_id = tbl_staff.id');
        $command = $query->createCommand();
        $data = $command->queryAll();
        $string = "<table class='table table-striped'><tr><th>No.</th><th>Name</th><th>Date to Receive Loyalty Award</th></tr>";
        $i = 1;
        foreach ($data as $row) {
            $firstname = $row['firstname'];
            $midname = $row['midname'];
            $lastname = $row['lastname'];
            //$string.=$row['first_day_service'];
            $string.="<tr>"
                    . "<td>$i</td>"
                    . "<td>" . $firstname . " " . $midname[0] . ". " . $lastname . "</td>"
                    . "<td>" . $row['first_day_service'] . "</td>"
                    . "</tr>";
            $i++;
        }
        $string.="</table>";
        return $string;
    }

如何以递增的顺序显示所有员工的姓名和他/她获得奖励的日期。

或者任何将根据日期对名称进行排序的 mysql 查询?

最佳答案

如果你想通过 SQL 查询来完成,在 MySQL 中你可以使用 DATE_ADD 添加日期功能:

DATE_ADD(date, INTERVAL 5 YEAR)

检查 this similar question .

或者通过 PHP 使用 DateTime modify方法:

$dateTime = new DateTime($date);
$dateTime->modify('+ 5 years')->format('Y-m-d H:i:s');

关于mysql - YII2获取10年5年后的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35837528/

相关文章:

java - 尝试切换到(使用)数据库时出现 JDBC "Error in MySQL Syntax"

mysql - 除了在 mysql 中替换?

php - yii2 find 只返回前五条记录

php - Yii2:发布复杂模型

mysql - 嵌套的相关子查询(二阶)无法访问主查询(MySQL)

mysql - 使用shell脚本访问mysql

python - 使用 CloudSQL : How to connect database (Error 2002, 的 Google AppEngine 上的 Django 无法连接到本地 MySQL 服务器..)

php - 如何在 Yii2 高级中添加新的应用程序文件夹

mysql - Yii ActiveRecord 同时更新和插入失败但没有错误

javascript - 通过减去选项计算总数 - 动态形式 - Yii2