亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

模型屬性和驗(yàn)證器的小結(jié)

原創(chuàng) 2019-02-25 15:29:55 278
摘要:通過本章的學(xué)習(xí),了解了模型中,獲取器和修改器的創(chuàng)建和使用,設(shè)置日期格式自動(dòng)轉(zhuǎn)時(shí)間戳功能,新增時(shí)間和修改時(shí)間的默認(rèn)字段綁定(可實(shí)現(xiàn)添加時(shí)間的自動(dòng)更新和修改時(shí)間的自動(dòng)更改),字段的類型轉(zhuǎn)換,添加和刪除時(shí)的字段自動(dòng)完成功能。同時(shí)還學(xué)習(xí)了驗(yàn)證器,通過新增驗(yàn)證器類,可以實(shí)現(xiàn)對(duì)表單的數(shù)據(jù)進(jìn)行驗(yàn)證和提醒。代碼如下:app\model\User:<?php namespace app\model

通過本章的學(xué)習(xí),了解了模型中,獲取器和修改器的創(chuàng)建和使用,設(shè)置日期格式自動(dòng)轉(zhuǎn)時(shí)間戳功能,新增時(shí)間和修改時(shí)間的默認(rèn)字段綁定(可實(shí)現(xiàn)添加時(shí)間的自動(dòng)更新和修改時(shí)間的自動(dòng)更改),字段的類型轉(zhuǎn)換,添加和刪除時(shí)的字段自動(dòng)完成功能。同時(shí)還學(xué)習(xí)了驗(yàn)證器,通過新增驗(yàn)證器類,可以實(shí)現(xiàn)對(duì)表單的數(shù)據(jù)進(jìn)行驗(yàn)證和提醒。代碼如下:

app\model\User:

<?php

namespace app\model;

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

class User extends Model
{
    //引用軟刪除的trait方法集
    use SoftDelete;

    //表名
    protected $table='user';

    //主鍵
    protected $pk='uid';

    //設(shè)置刪除時(shí)間字段,供軟刪除使用
    protected $deleteTime='delete_time';

    //設(shè)置軟刪除默認(rèn)值
    protected $defaultSoftDelete=0;

    //region  獲取器
    //獲取性別
    protected  function  getSexAttr($value,$data)
    {
        $sex=[0=>'男',1=>'女'];
        return '我叫:'.$data['name'].',我是'.$sex[$value].'生';
    }

    //獲取自定義屬性
    protected  function  getMsgAttr($value,$data)
    {
        return '本女'.$data['name'].',胸圍'.$data['weight'];
    }
    //#endregion

    //region 修改器
    //自動(dòng)轉(zhuǎn)換日期格式成時(shí)間戳
    protected function setAddTimeAttr($value)
    {
        return strtotime($value);
    }

    //胸圍更改時(shí)自動(dòng)加1
    protected function setWeightAttr($value,$data)
    {
        return $value+1;
    }
    //endregion

    //開啟當(dāng)前模型的自動(dòng)時(shí)間戳功能
    protected $autoWriteTimestamp = true;

    //設(shè)置支持自動(dòng)時(shí)間戳功能的字段名
    protected $createTime = 'create_time';
    protected $updateTime = 'modify_time';

    //類型轉(zhuǎn)換
    protected $type=[
        'sex'=>'integer',
        'weight'=>'integer',
        'height'=>'integer',
    ];

    //自動(dòng)完成
    protected $insert=['sex'=>1];
    protected $update=['sex'=>0];
    protected $auto=['height'=>'160'];
}

app\validate\User:

<?php

namespace app\validate;


use think\Validate;

class User extends Validate
{
    //驗(yàn)證規(guī)則
    protected $rule=[
        'name'=>'require|min:6|max:15',
        'sex'=>'in:0,1',
        'height'=>'between:145,190'
    ];

    //驗(yàn)證提示信息
    protected $message=[
        'name.require'=>'女星名字不可為空',
        'name.min'=>'女星名字長度最小為6個(gè)字符',
        'name.max'=>'女星名字長度最大為15個(gè)字符',
        'sex.in'=>'性別必須為男或女',
        'height.between'=>'身高必須在145-190cm之間'
    ];


}

app\index\controller\UserAttr.php:

<?php


namespace app\index\controller;

use app\model\User;
use think\Controller;
use app\validate\User as UserValidate;

class UserAttr extends  Controller
{
    public  function  getAttr()
    {
        //獲取用戶信息
        $user=User::get(23);
        echo $user->sex;
        echo '<br>';
        echo $user->msg;

        //保存用戶信息
        $user->weight=95;
        $user->save();

        //驗(yàn)證用戶信息
        $data= [
            'name'=>'cang111',
            'height'=>'140',
            'sex'=>0
        ];

        $validate= new UserValidate();
        $validate->check($data);

        if(true !== $validate)
        {
            dump($validate->getError());
        }
        else
        {
            return '驗(yàn)證成功';
        }
    }
}

效果圖:

QQ截圖20190225152820.jpg

批改老師:韋小寶批改時(shí)間:2019-02-25 17:31:03
老師總結(jié):寫的很不錯(cuò) 這些方法都可以幫助我們更快的去完成項(xiàng)目

發(fā)佈手記

熱門詞條