2017-04-11 14:13:07 2666次浏览 4条回答 1 悬赏 10 金钱

我是下面这样写的,但提交是总是报错inputtime为空,查了手册和资料是这样写的吧

   public function behaviors()
    {
        return [
            'timestamp'=>[
                'class' => TimestampBehavior::className(),
                'attributes' => [
                    BaseActiveRecord::EVENT_BEFORE_INSERT => ['inputtime','updatetime'],
                    BaseActiveRecord::EVENT_BEFORE_UPDATE => 'updatetime'
                ],
                'value' => time()
            ]
        ];
    }

最佳答案

  • koko 发布于 2017-04-12 08:47 举报
     public function behaviors()
        {
            return [
                'timestamp'=>[
                    'class' => TimestampBehavior::className(),
                     'createdAtAttribute' => 'inputtime',
                     'updatedAtAttribute' => 'updatetime',
                ]
            ];
        }
    

    另外这里默认提供值的是11位整数,不是时间。

    2 条回复
    回复于 2017-04-12 09:18 回复

    好了,为什么验证规则里inputtime定义了require就不行呢,去掉就可以了,难道rules先执行吗

    回复于 2017-04-12 23:29 回复

    是的,时间行为是附加在插入数据前

  • 回答于 2017-04-11 18:20 举报

    use yii\behaviors\TimestampBehavior;
    public function behaviors()

    {
        return [
            [
                'class' => TimestampBehavior::className(),
                'createdAtAttribute' => 'created_at',
                'updatedAtAttribute' => 'updated_at',
            ],
        ];
    }
    
  • 回答于 2017-04-12 08:25 举报

    用beforesave函数打印一下你存储时的对象。看看是什么值

  • 回答于 2017-04-17 11:46 举报

    用beforesave函数打印一下你存储时的对象。看看是什么值

您需要登录后才可以回答。登录 | 立即注册
王文凡
经理

王文凡 ChengDu

注册时间:2016-04-11
最后登录:2018-07-26
在线时长:20小时44分
  • 粉丝3
  • 金钱1065
  • 威望10
  • 积分1365

热门问题