前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >yii2自动更新时间,根据条件设定指定值,接受多选框的值

yii2自动更新时间,根据条件设定指定值,接受多选框的值

作者头像
双面人
发布2019-07-18 16:42:55
1.6K0
发布2019-07-18 16:42:55
举报
文章被收录于专栏:热爱IT热爱IT

gii自动生成的_form.php文件中,我们可以根据代码$model->isNewRecord 返回的值,来判断当前是增加还是更新,在form.php文件中,还可以根据它的属性值给字段input框赋予默认值

connect字段为多选框字段,前台传到后台的数据默认是数组格式。该字段对应是让tostring方法处理,先把它的值赋给静态变量$connect,然后在beforeSave中把数组格式化成字符串,在返回,存入数据库。

代码语言:javascript
复制


<?php
namespace backend\models;
use Yii;
use \yii\db\ActiveRecord;
class Newdocument extends ActiveRecord
{
    public function beforeSave($insert){
        if(parent::beforeSave($insert)){
            if($this->isNewRecord){//判断是更新还是插入
                $this->connect = implode(',', $this->connect);
                $this->create_time = time();
            }else{
                $this->update_time = time();
                $this->connect = implode(',', $this->connect);
            }
           return true;
        }else{
            return false;
        }
    }
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'document';
    }
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [[  'create_time','update_time'], 'integer'],
            ['connect','tostring'],
        ];
    }
    public function tostring(){//可通过方法单独控制某个字段,也可以直接通过beforesave方法控制
            //if($this->isNewRecord){//判断是更新还是插入
                //$this->connect = implode(',', $this->connect);
            //}else{
               // $this->connect = implode(',', $this->connect);
            //}
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.07.16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档