ThinkPHP5模型修改和自动完成

192 阅读1分钟

 

<?php

namespace app\index\model;

use think\Model;

class User extends Model
{
    #-------------------------自动完成---------------------------
    # 所有操作都会执行
    protected $auto = [
        'time'
    ];
    # 添加时执行
    protected $insert = [
        'time_insert'
    ];
    # 修改时执行
    protected $update = [
        'time_update'
    ];

    #-------------------------模型修改器--------------------------
    # 当password没有进行加密时会自动进行修改
    public function setPasswordAttr($val){
        return md5($val);
    }
    #-------------------------自动完成方法------------------------
    public function setTimeAttr()
    {
        return time();
    }

    public function setTimeInsertAttr()
    {
        return time();
    }

    public function setTimeUpdateAttr()
    {
        return time();
    }
}

?>

<?php 

namespace app\index\controller;

use think\Controller;
use app\index\model\User;

class Index extends Controller
{
    public function index()
    {
        # 当进行添加操作时,数据库中的字段time和time_insert会进行自动完成
        // $res = User::create([
        //     'username'  => 'imooc',
        //     'sex'       => 0,
        //     'email'     => 'imooc@qq.com',
        //     'password'  => 'imooc',
        //     'num'       => 1
        // ]);
    
        # 当进行修改操作时,数据库中的字段time和time_update会进行自动完成更新
        $userModel = User::get(12);
        $userModel->sex = 1;
        $res = $userModel->save();

        dump($res);
    }
}

?>

​版权声明:本文为CSDN博主「我因代码而疯狂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:blog.csdn.net/qq_39476250…