博主信息
博文 11
粉丝 1
评论 1
访问量 11634
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
第二期第三阶段作业,模型获取器、修改器、类型转换,自动完成,自动时间戳
豆芽的博客
原创
1058人浏览过
<?php

namespace app\index\model;

use think\Model;
use think\model\concern\SoftDelete;

class User extends Model
{

    protected $table = 'user';

    protected $pk = 'user_id';

    use softDelete;

    protected $deleteTime = 'delete_time';
    protected $defaultSoftDelete = NULL;
//获取器一般用法
    protected function getStatusAttr($value)
    {

    	$status = [1=>'启用',0=>'禁用'];
		return $status[$value];
    }
    //获取器第二种用法,传入第二个参数,引用全部的字段值
    protected function getMoneyAttr($value, $data)
    {
    	return $data['name'].'的工资是'.($value+5);
    }
	//可以位表中不存在的字段设置
	protected function getStaffInfoAttr($value, $data)
	{
		//staff_info:是虚拟字段
		//$value:仅仅是一个占位符,没有意义
		return '我是'.$data['name'].",工资才".$data['money'];
	} 
	//修改器
	protected function setEntryTimeAttr($value){
		return strtotime($value);
	}
	//修改器2,支持第二个参数,引用全部字段值
	protected function setMoneyAttr($value, $data)
	{
		return $value+$data['age'];
	}
	protected function setIpAttr()
	{
		return request()->ip();
	}
//类型转换,我们读取数据库的数据的时候默认的是字符串类型
	protected $type = [
		'entry_time' =>'timestamp:Y-m-d',
	];
//模型的自动完成,针对写操作的,新增及更新
//相当于给字段设置默认值

	protected $insert = [
		'age' => 18,
		'money' =>2000,
		
	];
	protected $update = [
		'age' =>11
	];
	protected $auto = [
		'sex' =>1,
		'ip'
	];

	//开启当前模型的自动时间戳
    protected $autoWriteTimestamp = true;

	//设置一下用户自定义的新增和更新时间的字段名
	protected $createTime = "create_time";
	protected $updateTime = "update_time";

}


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学