本港台最快开奖结果_本港台118kj开奖现场_明日大富翁开奖结果

[2019]本港台最快开奖结果是给大家带来了一个可以免费下载正版的机会,1本港台118kj开奖现场为玩家提供免费好玩的iPad游戏下载,点击明日大富翁开奖结果了解更多优惠信息,因为只有在注册之后下载下来的平台才是官方指定的。

自定义基类

来源:http://www.alloutofdebt.com 作者:本港台118kj开奖现场 人气:145 发布时间:2019-11-07
摘要:  ThinkPHP 提供了叁个 Model 类,供别的的 Model 实行继续。Model 类中是MVC 中的模型类,它是调用 长久层的上层类。以为那样描述难点多多,可是有何办法啊?可是,这一个 Model不经常不或

   ThinkPHP 提供了叁个 Model 类,供别的的 Model 实行继续。Model 类中是 MVC 中的模型类,它是调用 长久层 的上层类。以为那样描述难点多多,可是有何办法啊?可是,这一个 Model 不经常不或然满足我们的生龙活虎部分要求,由此大家须要自定义一个 Model 类出来,可是自定义的 Model 相符要接二连三 TP 提供的 Model 类,而把大家自定义的 Model 类作为大家项目中的 Model 基类。笔者怎么以为自己在说绕口令,等等...小编有一些晕。

 

庸俗的供给

  在采纳 Java 的开源项目 JeeSite 时,养成了一个倒霉的习于旧贯,习于旧贯给每张表都增加create_by、create_date、update_by、update_date、remarks 和 del_flag 这么多少个字段。假诺每张表都有这多少个字段,那么对每张表实行 insert 时都会对以上的字段举行设置,对每张表进行 update 时都会对中间一些字段进展翻新,对每条记下举行 delete 时都其实是对 del_flag 字段展开置位。重复操作非常多,一些操作方法被改革。那么,这时将要自定义一个团结的 Model 来作为项指标 基类 了,这些 Model 就担任干上边作者说的那多少个事情了。

 

自定义叁个 Model

  自定义四个 Model,Model 中起码重新 TP 提供的 Model 中的 add、save、delete 和 select 方法。

  定义代码如下:

 1 <?php
 2 namespace AdminModel;
 3 use ThinkModel;
 4 
 5 /**
 6  * 项目中其他 Model 类的基类
 7  * 该类继承自 TP 提供的基类 Model
 8  */
 9 class BaseModel extends Model {
10     
11     /**
12      * 继承基类 Model 的 add 方法
13      * 自动插入 id create_by create_date update_by update_date del_flag
14      */
15     public function add($data='',$options=array(),$replace=false) {
16         
17         $data["id"]          = $this->getUuid();
18         $data["create_by"]   = "";
19         $data["create_date"] = date("Y-m-d H:i:s");
20         $data["update_by"]   = "";
21         $data["update_date"] = date("Y-m-d H:i:s");
22         $data["del_flag"]    = '0';
23         
24         return parent::add($data, $options, $replace);
25     }
26     
27     /**
28      * 获得 未删除 的所有数据
29      * 记录是否被删除通过 del_flag 字段来进行确定
30      */
31     public function select($options=array()) {
32         $map["del_flag"] = 0;
33         $this->where($map);
34         
35         return parent::select($options);
36     }
37     
38     /**
39      * 获取 全部 的所有数据
40      */
41     public function selectAll($options=array()) {
42         return parent::select($options);
43     }
44     
45     /**
46      * 更新数据
47      * 更新数据时,要更新 update_by update_date 两个字段
48      */
49     public function save($data='',$options=array()) {
50         $data["update_by"]   = "";
51         $data["update_date"] = date("Y-m-d H:i:s");
52         
53         return parent::save($data, $options);
54     }
55     
56     /**
57      * 删除也是更新
58      * 设置 删除 标志位即可
59      */
60     public function delete($data='',$options=array()) {
61         $data["del_flag"] = 1;
62         
63         return parent::save($data, $options);
64     }

  那样,大家的 BaseModel 就定义好了,未来项目中的 Model 就不再继续 TP 的 Model 类了,而是继续大家自定义的 BaseModel 了。

 

波澜起伏大家定义的基类

  世襲的 BaseModel 的措施和世襲 Model 的艺术是千篇后生可畏律的,只是利用 use 引进命名空间到当前效应域时的内需纠正为大家的命名空间,实际不是再去接收 TP 提供的命名空间。代码如下:

1 <?php
2 namespace AdminModel;
3 use AdminModelBaseModel;
4 
5 class TrunkModel extends BaseModel {

  use 引入的命名空间是 AdminModelBaseModel ,因为咱们定义的 BaseModel 的命名空间是 AdminModel,因为此处的 TrunkModel 和 BaseModel 在三个命名空间下,省去 use 也是能够的。

 

  那样,在大家用 D 方法实例化 TrunkModel 的靶子后,使用 add 方法插入数据时,就能够先调用 BaseModel 中的 add 方法了,那样大家每张表都有的 create_by 等一文山会海字段就都会自行获取了。

本文由本港台最快开奖结果发布于本港台118kj开奖现场,转载请注明出处:自定义基类

关键词:

上一篇:Swagger2在SpringBoot环境下的应用

下一篇:没有了

频道精选

最火资讯