当前位置: 首页 > news >正文

上海手机网站建设方案天津企业免费建站

上海手机网站建设方案,天津企业免费建站,成都品牌建设网站公司,长沙的互联网网站公司哪家好一、模型 MVC架构 之前开发一个功能,后端为在控制器(C)中写 php SQL,前端为在页面(V)中写html css js,这就形成了 VC 架构。 但是发现,相同的数据逻辑(SQL&#xf…

一、模型

  1. MVC架构

之前开发一个功能,后端为在控制器(C)中写 php + SQL,前端为在页面(V)中写html + css + js,这就形成了 VC 架构。

但是发现,相同的数据逻辑(SQL)在不同的功能中可能被用到,所以可以把数据逻辑(SQL)单独提出来作为模型层(M),多个业务逻辑(php)可以复用。

图片

(https://www.optbbs.com/forum.php?mod=viewthread&tid=12613221)

2. 模型的作用

2.1 方便数据校验和过滤

在应用开发中,比如表单提交等,经常需要对数据进行校验和过滤。thinkphp6的模型支持数据的校验和过滤,可以帮助开发者避免许多数据处理方面的问题。

2.2 便于代码重用和维护

在许多场景下,不同的功能需要实现相同的业务逻辑。使用模型,开发人员可以在一个地方实现相同的业务逻辑,提高了代码的重用性和维护性。

二、模型文件里的定义方法

注意:不要和 thinkphp 方法一样名称

1. 模型的名字

假设有一个table的名字为test,则模型的名字为Test

一个模型对应一个数据表,规则:驼峰式的

图片

2. 新增一个模型文件Test.php

第一步:在 test 项目中创建目录,目录名:model

第二步:在 model 创建 Test.php 文件

第三步:Test.php 文件中引入think\Model

第四步:Test.php 文件中类的名字也为Test

图片

三、增

  1. 模型文件

    比如增加一个用户

public function doAddUser(){        // 返回新增的对象        $user = Test::create([            'name' =>  'shi',            'age' =>  26        ]);        // 自增的id        echo $user->id;        return $user;    }

2. 控制器中调用模型

在test\controller中新建一个控制器文件,ModelTest.php

ModelTest.php中引入模型文件app\test\model\Test

public function addUser(){        $Test = new Test();        $result = $Test->doAddUser();        print($result);    }

图片

3. 运行

图片

四、查

  1. 模型文件

    比如查年龄大于18岁的用户

public function doGetUser(){        # 返回结果集        $users = Test::where('age','>=',18)->select();        return $users;    }

2. 控制器文件

public function getUser(){        $Test = new Test();        $results = $Test->doGetUser();        print($results);    }

3. 运行

图片

五、改

  1. 模型文件

    比如修改年龄大于18岁的用户的年龄为40

public function doUpdateUser(){        $user = Test::where('name', 'shi')                    ->where('age', '>=', 18)                    ->find();
        print($user);        $user->age = 40;        // 返回影响的记录数        $result = $user->save();        print($user);        return $result;    }

2. 控制器文件

public function updateUser(){        $Test = new Test();        $results = $Test->doUpdateUser();        print($results);    }

3. 运行

注:如果是要修改name字段,是修改不成功的,因为其与 “think\Model” 中的属性name冲突。建表时注意字段尽量避免使用 “think\Model” 中的属性。

https://blog.csdn.net/u013288190/article/details/132643809

六、删

  1. 模型文件

    比如删除name为shi的所有用户

public function doDeleteUser(){        # 删除方法,返回删除的个数        $delete = Test::where('name', 'shi')->delete();        return $delete;    }

2. 控制器文件

public function deleteUser(){        $Test = new Test();        $result = $Test->doDeleteUser();        print($result);    }

3. 运行

图片

七、模型的能力

1. 模型中也可以使用Db库

Db::name('user')->where('id','>',10)->select();

改成模型操作的话就变成

User::where('id','>',10)->select();

2. 除了代码复用,模型提供了获取器、修改器、搜索器、模型事件等功能

如,获取器的场景包括:

  • 时间日期字段的格式化输出;

  • 集合或枚举类型的输出;

  • 数字状态字段的输出;

  • 组合字段的输出;

例如,数据库中存储的状态是-1,0,1等数字,但是可以通过模型统一向外提供转换

<?php
namespace app\model;use think\Model;class User extends Model 
{public function getStatusAttr($value){$status = [-1=>'删除',0=>'禁用',1=>'正常',2=>'待审核'];return $status[$value];}
}

请参考官方教程

https://www.kancloud.cn/manual/thinkphp6_0/1037588

八、参考:

https://blog.csdn.net/2301_76809965/article/details/130353013

https://blog.51cto.com/u_15067267/4677537

https://www.php.cn/faq/591280.html

https://cloud.tencent.com/developer/article/2138957

https://m.php.cn/faq/511616.html

ThinkPHP6 模型 | 欧阳克博客

软件工程小施同学

20230904

http://www.yayakq.cn/news/847656/

相关文章:

  • 国外html5网站模版贵州高端建设网站
  • 帮别人建设网站宿迁网站建设流程
  • 昆明参差网站杭州房产网信息网官网
  • 德州金航网络公司网站建设美图秀秀网页版在线制作
  • 英语培训网站建设2008 iis7添加网站
  • 楚雄市住房和城乡建设局门户网站专题网站建设解决方案
  • centos 7.2 做网站私企建筑公司排名
  • 天津市工程建设交易服务中心网站招聘网站怎么做推广
  • 检察院加强网站建设电子商务网站建设市场分析
  • 网站搭建心得哪家建设网站
  • 中国住房与城乡建设厅网站群辉 搭建wordpress
  • 安龙网站建设php网站开发演讲稿
  • 自己做的网站外网访问河南住房建设厅网站
  • 成都网站推广 优帮云苏宁易购
  • 黑白高端大气网站设计工作室织梦dedecms模板wordpress数据库连接时错误
  • wordpress申请网站吗网站开发有哪些课程
  • 营销网站试用手机网站 排版
  • 公益网站建设方案宁夏住房和建设厅官方网站
  • 丰都网站建设报价张家港网站设计优化
  • 网站建设的市场定位的方案网站打开慢的原因
  • 零基础考二建有多难seo优化方法网站快速排名推广渠道
  • 基于node网站毕设代做网站的权限设置
  • 赣州市铁路建设办公室网站珠海响应式网站建设费用
  • 上海网站建设 分类广告app设计开发
  • 甘肃网站定制开发企业网站设计有名 乐云seo
  • 静态展示网站模板360商城官网
  • 巩义做网站汉狮公司WordPress取消强密码
  • 重庆网站建设就找承越网站的结构类型
  • 创建网站要多长时间昆山做企业网站
  • 国际网站设计怎么部署wordpress