小程府 2016-04-09 16:51:13 6390次浏览 2条评论 0 1 0

yii2貌似没有thinkphp中的自动完成功能,但是可以用另外一种方式实现,方法如下:
在要添加自动完成的模型modles中,添加如下方法,即在验证之前要的事情,代码如下:

public function afterValidate(){
       parent::afterValidate();
       $this->addtime = time();
       $this->status = 1;
       return true;
   }

在数据库中添加上相应的字段,试试吧!

觉得很赞
  • 评论于 2016-04-10 07:50 举报
    1. 第一个属性使用行为.官方有自带一个 时间行为
    2. 查看规则设置的default方法.
      呃... 没用过think,不知道那种更方便.
    2 条回复
    评论于 2016-04-14 09:55 回复

    还是default简单,之前没领悟到,现在改过来了,O(∩_∩)O谢谢!但是如果是新增数据的时候,默认值添加1,更新数据时默认设为2,这应该怎么写呢?

    评论于 2016-04-14 17:32 回复

    不知道你是否有其他的要求. 如果只是单纯的你现在描述的.
    可以考虑重写. 使用AR的beforeSave($insert,$changeAtteibute).这个方法 根据$insert判断是插入还是更新.$this->xxx=$insert?1:2;

  • 评论于 2016-04-13 14:03 举报

    DEFAULT验证器不是吗

    2 条回复
    评论于 2016-04-14 09:35 回复

    我暂时没有看到呢,它也可以实现自动完成,能贴段代码看一下吗?

    评论于 2016-04-14 09:42 回复

    傻了,默认值都不会用了,谢谢大家指点哈!

您需要登录后才可以评论。登录 | 立即注册