• thinkphp自动完成、软删除 和时间戳


    thinkphp自动完成、软删除 和时间戳

    一、总结

    自动完成:没有手动赋值的情况下进行手动处理

    软删除:实现假删除,可以进行恢复

    时间戳:系统支持自动写入创建和更新的时间戳字段

    二、thinkphp自动完成、软删除 和时间戳

    1、自动完成

            

             1、修改器和自动完成区别

            修改器:数据赋值的时候自动进行转换处理

            自动完成:没有手动赋值的情况下进行手动处理

        2、自动完成

                 // 增加和修改操作都会执行

                 protected $auto=[];

                 // 创建数据执行

                 protected $insert=['create_time'];

                 // 修改数据执行

                 protected $update=['update_time'];

    2、时间戳

            

             1、系统支持自动写入创建和更新的时间戳字段

                       1) 在配置文件中设置

                                // 自动写入时间戳字段

                                'auto_timestamp'  => true,

                       2) 在数据模型中设置

                                // 设置自动写入时间戳

                                protected $autoWriteTimestamp=true;

             2、可以设置字段默认值

                       // 增加时间的字段

                       protected $createTime='create_times';

                       // 更新时间的字段

                       protected $updateTime='update_times';

             3、取消更新时间戳设置

                       protected $updateTime=false;

    3、软删除

            

             1、作用:

                       实现假删除,可以进行恢复

             2、实现

                       <?php

                                // 声明命名空间

                                namespace appindexmodel;

                                // 导入系统的数据模型

                                use thinkModel;

                                // 配合软删除

                                use traitsmodelSoftDelete;

                                // 声明user模型

                                class User extends Model{

                                         // 使用软删除

                                         use SoftDelete;

                                         // 设置删除的时间戳

                                         protected $deleteTime="delete_times";

                                }

             3、控制器      

                       1、删除数据

                                $res=User::destroy(15);

                       2、获取数据

                                $res=User::get(15);

                                // 软删除 数据库数据存在,但是get获取不到

                       3、直接删除数据

                       $res=User::destroy(14,true);

                       $user=new User();

                       $res=$user->where("id",'5')->delete();

             4、读取所有数据包含软删除数据

                     $res=User::withTrashed()->find(15);

                     $res=User::withTrashed()->select();

                 5、仅仅读取软删除数据

                     $res=User::onlyTrashed()->select();

                     $res=User::onlyTrashed()->find(1);

  • 相关阅读:
    使用XUACompatible来设置IE8兼容模式[转]
    XML Sitemaps 格式
    A Link 链接的rel、target属性详解
    IE与Firefox等浏览器对容器width的不同解释及解决办法
    超越文档类型,web标准化向前兼容和IE8
    MSSQL、MYSQL,ACCESSl,Oracle随机读取N条记录方法
    IE8如何定义浏览器工作模式避免网页显示混乱
    什么是SVN? 什么是CVS? SVN跟CVS又有什么关系呢?
    2008年度75套最佳网页设计资源
    一组JS创建和操作表格的函数集合
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9030858.html
Copyright © 2020-2023  润新知