您现在的位置是:网站首页>软件开发>开发终端>thinkphpthinkphp

自动完成(数据完成)

风口下的猪2019-06-09thinkphp

简介

数据完成主要是和修改器一起使用。

数据自动完成指在不需要手动赋值的情况下对字段的值进行处理后写入数据库。

系统支持autoinsertupdate三个属性,可以分别在写入、新增和更新的时候进行字段的自动完成机制,auto属性自动完成包含新增和更新操作

例如我们定义User模型类如下:

<?php

namespace app\index\model;

use think\Model;

class User extends Model
{
protected $auto = ['name', 'ip'];
protected $insert = ['status' => 1];
protected $update = [];

protected function setNameAttr($value)
{

return strtolower($value);
}

protected function setIpAttr()
{

return request()->ip();
}
}

数据自动完成如果需要写入固定的值,可以直接指定(例如上面的status字段固定写入了1),类似于数据表字段的默认值功能。

在新增数据的时候,会对nameipstatus 字段自动完成或者处理。

$user = new User;

$user->name = 'ThinkPHP';

$user->save();

echo $user->name; // thinkphp

echo $user->status; // 1

在更新数据的时候,会自动处理name字段的值及完成ip字段的赋值。

$user = User::find(1);

$user->name = 'THINKPHP';

$user->save();

echo $user->name; // thinkphp

echo $user->ip; // 127.0.0.1

很赞哦! (0)

  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index.php/index/catelist/catelist/cateid/10.html

    相关阅读 (同一栏目)

    << /

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R