登录  /  注册
博主信息
博文 65
粉丝 3
评论 4
访问量 66179
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
thinkPHP5.1之模型获取器,修改器,自动更新,填充等等
无耻的鱼
原创
2831人浏览过

thinkPHP5.1之模型获取器,修改器,自动更新,填充等等

文件位置

1.png



satff实例

<?php

namespace app\index\model;

use think\Model;
use think\model\concern\SoftDelete; //导入软删除功能

class Staff extends Model
{
	use SoftDelete;
	
    protected $table = 'aaa';

    protected $pk = 'id';

    //设置删除时间字段,配合软删除功能
    protected $deleteTime = 'delete_time';

    //设置软删除字段的默认值
    protected $defaultSoftDelete = 0;


    // 模型获取器
    
    // 获取器 1.sex
    protected function getSexAttr($value)
    {
    	$sex = [0=>'男',1=>'女'];
    	return $sex[$value];
    }

    // 获取器 2.money
    protected function getMoneyAttr($value,$data)
    {
    	return $data['name'].'的工资是:'.$value;
    }

	// 获取器 3.abc(自定义)
    protected function getAbcAttr($value,$data)
    {
    	return $data['name'].'的年龄是:'.$data['age'].' ,工资是:'.$data['money'];
    }

    // 模型修改器

    // 模型获取器 1.时间转换为时间戳
    protected function setEntryTimeAttr($value)
    {
    	return strtotime($value);
    }

    // 模型获取器 2.支持第二个参数
    protected function setMoneyAttr($value,$data)
    {
    	return $value + $data['age'];
    }

    //类型转换
    protected $type=[
    	'id' => 'interger',
    	'sex' => 'interger',
    	'money' => 'interger',
    	'age' => 'interger',
    ];

    //自动完成 针对写操作.新增\更新 
    //相当于设置的默认值

    protected $insert = [
    	'sex' => 0,
    	'age' => 18,
    	'money' => 3600

    ];

    //更新
    protected $update = ['sex' => 0];

    //针对新增与更新  更新一些相同的东西
    protected $auto = ['sex' => 0];  


    //开始当前时间戳 功能
    // (也可以在config/database.PHP中开启)
    protected $autoWriteTimestamp = true;

    //设置更新的字段
    protected $createTime = 'create_time';
    protected $updateTime = 'update_time';



}

运行实例 »

点击 "运行实例" 按钮查看在线实例

Dome4实例

<?php 

//cmd 创建模型  php think make:model index/Staff

namespace app\index\controller;

/**
 * 使用模型获取器
 */
use think\Controller;
use app\index\model\Staff as Zhang;

class Dome4 extends Controller
{
	
	//http://tp.io/Index.php/index/Dome4/get
	//模型获取器
	function get()
	{
		$res = Zhang::get(40);
		dump($res->sex);
		dump($res->money);		
		dump($res->abc);		

	}

	//模型修改取器
	function set()
	{
		$res = Zhang::get(41);
		$res->age=20;
		$res->entry_time='2015-06-23';
		$res->money='1000';
		$res->save();	

	}

	//自动更新时间戳功能
	function auto()
	{
		Zhang::update(['name'=>'老鼠爱小猫'],['id'=>63]);
	}
	

	

}

运行实例 »

点击 "运行实例" 按钮查看在线实例



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

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

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