Php 今天输入';控制器YII2的数据库中的s日期

Php 今天输入';控制器YII2的数据库中的s日期,php,mysql,yii2,Php,Mysql,Yii2,我的索引页面中有一个按钮,单击该按钮时,我希望数据库中的“状态”字段从0变为1。我还想输入今天点击这个按钮的日期 状态字段更新正在工作,但是当我尝试输入今天的日期时,什么也没有发生 这是我在控制器中使用的代码: public function actionProgress($id) { /*$this->findModel($id)->delete(); return $this->redirect(['index']);*/

我的索引页面中有一个按钮,单击该按钮时,我希望数据库中的“状态”字段从0变为1。我还想输入今天点击这个按钮的日期

状态字段更新正在工作,但是当我尝试输入今天的日期时,什么也没有发生

这是我在控制器中使用的代码:

public function actionProgress($id)
    {
        /*$this->findModel($id)->delete();
        return $this->redirect(['index']);*/
        $model = $this->findModel($id);
        
        if ($model->status===0) {
            Yii::$app->db->createCommand('UPDATE ebs_job_planning SET status = 1 WHERE status = 0 AND id ='.$model->id)->execute();
            Yii::$app->db->createCommand('UPDATE ebs_job_planning SET completion_date = '.date("Y/m/d").'WHERE id ='.$model->id)->execute();
        }      
        return $this->redirect('index');
    }
我也尝试过:

public function actionProgress($id)
    {
        /*$this->findModel($id)->delete();
        return $this->redirect(['index']);*/
        $model = $this->findModel($id);
        $date = date("Y/m/d");
        
        if ($model->status===0) {
            Yii::$app->db->createCommand('UPDATE ebs_job_planning SET status = 1 WHERE status = 0 AND id ='.$model->id)->execute();
            Yii::$app->db->createCommand('UPDATE ebs_job_planning SET completion_date = '.$date.'WHERE id ='.$model->id)->execute();
        }      
        return $this->redirect('index');
    }
但是日期似乎不想输入:(任何人都知道我做错了什么吗?

Php的
date()
返回一个字符串,并且您有一个
date
字段,因此mysql将抛出一个错误,请使用:

设置完成日期=当前日期()

这样你就可以有一个合适的约会。 如果要在提取时将其格式化为Y/m/d,可以使用:


选择日期格式(完成日期,%Y/%m/%d')作为日期

完成日期
a
VARCHAR
字段?@Hollyl否这是一个日期字段尝试
设置完成日期=当前日期()
如果是,我会回答works@Hollyol成功了!!谢谢!