Blogger Information
Blog 65
fans 3
comment 4
visits 67731
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
thinkPHP5.1之模型获取器,修改器,自动更新,填充等等
无耻的鱼
Original
2870 people have browsed it

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]);
	}
	

	

}

运行实例 »

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



Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post