关于ThinkPHP中的时间自动填充

<?php

class NewsModel extends Model{

    protected $_auto = array(
      array(‘time_at‘,‘mydate‘,‘1‘,‘callback‘),
    );   

    protected function mydate(){
        return date("Y-m-d H:i:s");
    }

}

?>

前提条件是:time_at 在数据库里的类型为datetime,必须用callback不能用function。

而functiont和callback的区别在于 如果是function,则第二个参数为函数名,而这个函数可以是PHP自带的,也可以是你自己写的,而callback的话第二个参数只能是当前模块所能调用的方法。

如果用这个验证

   protected $_auto = array(
      array(‘time_at‘,‘time‘,‘1‘,‘function‘),
    );

则 time_at 在数据库里的类型为int类型,这个问题浪费了我办个小时才解决,特此记下。

文章转自:http://blog.csdn.net/lssxlh/article/details/6877078

感谢!

时间: 2024-10-13 06:24:16

关于ThinkPHP中的时间自动填充的相关文章

thinkPHP中的三大自动

class UserModel extends Model{ protected  $_validate=array( //下面还需要再写数组.一个数组就是一条验证规则 //array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间'), //验证字段:需要验证的表单字段名称,也可以表单当中的一些辅助字段,例如验证码,附加码,重复密码等 //验证规则,验证规则必须要结合附加规则一起使用 //错误提示:如果出现错误,抛出一个什么样的错误提示告知用户 //验证条件:

ThinkPHP中create()方法自动验证

自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 原理: create()方法收集表单($_POST)信息并返回,同时触发表单自动验证,过滤非法字段, 在控制器中使用create()方法,(返回值为true/false),会自动触发模型类中的$_validate属性(为父类Model中的方法,在子类Model中重写),在$_validate中自定义验证规则(验证规则下面会详细说明),当create()方法没有数据即返回值为fals

关于thinkphp 中的字段自动检查机制

在thinkphp中有很好用的自动检查机制$_validate() 但是必须与create接收配合使用 可以很方便的帮助我们去判断 namespace Home\Model;use Think\Model;class UserModel extends Model{ protected $_validate = array( array('verify','require','验证码必须!'), //默认情况下用正则进行验证 array('name','','帐号名称已经存在!',0,'uniq

ThinkPHP 自动验证与自动填充无效可能的原因

原文链接:http://www.5idev.com/p-thinkphp_validate_auto_Invalid.shtml 自动验证与自动填充是在使用ThinkPHP时经常用到的功能,但偶尔会遇到自动验证与自动填充无效的情况,本文就ThinkPHP 自动验证与自动填充无效可能的原因做一些分析. create() ThinkPHP 自动验证与自动填充是在创建数据对象 create() 时实现的,因此自动验证与自动填充无效很大程度上与 create() 有关. create 方法语法如下: c

验证码自动填充项目中观察者模式分析

观察者模式 观察者模式定义了对象之间的一对多依赖,当一个对象状态发生改变时,其依赖者便会收到通知并做相应的更新.其原则是:为交互对象之间松耦合.以松耦合方式在一系列对象之间沟通状态,我们可以独立复用主题(Subject)/可观测者(Observable)和观测者(Observer),即只要遵守接口规则改变其中一方并不会影响到另一方.这也是其主要的设计原则. 举个例子:老师留高软作业,所有学生收到作业信息.老师对应多个学生,留作业是发生的变化,学生会收到作业信息.老师(或学生)通常步行去学校,今天

Oracle中ID的自动增加以及获取系统时间的小技巧

引自http://blog.csdn.net/lejuo/article/details/4479065 ID自动增加,就像MS- SQL Server里面创建表格时,给表的主键设置为自动增加一样. 在Oracle里面,通过如下的SQL语句实现:(plsql可以直接在sequence创建) -- Create sequence create sequence MSG_IN_ID_SEQminvalue 1maxvalue 999999999999999999999999999start with

Android监听短信到来并自动填充到输入框中

基本原理:通过ContentObserver观察者监听sms数据库的改变,当有变化时检测是否是来自指定号码的短信,如果是的话就通过正则表达式获得需要的内容,然后贴代码 (*^__^*) 嘻嘻……: 1 /** 2 * 3 * @ClassName: SmsContent 4 * @Description: 短信监听类 5 * @author guoyizhe 6 * @email [email protected] 7 * @date 2015-6-9 下午3:30:12 8 * 9 */ 10

关于mybatis plus 中 MetaObjectHandler 自动填充功能出现的问题及处理

1.自动填充的字段: createdBy,updatedBy,createdDate,updatedDate /*** 插入使用*/ @Override public void insertFill(MetaObject metaObject) { String operator = "bokai"; fillValue(metaObject, CREATED_BY, () -> operator); fillValue(metaObject, UPDATED_BY, () -&

使用java自动填充,实现mysql的创建修改时间的自动填充

一.首先我们需要在表上创建相应的字段 1:值得注意的是这个类型,datetime,还有别的操作时间的类型,这个区别还是有一点,详细可以百度一下,此处就不写了 二.标准的java实体映射类肯定是需要的 1:这第一个注解:@DateTimeFormat,就是指定这个时间格式,这个与上述的datetime还是有一点关系的,可以自己百度,尝试一下别的 2:关键是第二个注解:@TableField,相当于表达这是什么操作,然后与下文形成对应 3:注意:!!!! 此处的Date 是java.util.Dat