返回顶部
首页 > 资讯 > 精选 >ThinkORM新增加的虚拟模型功能有什么作用
  • 944
分享到

ThinkORM新增加的虚拟模型功能有什么作用

2023-06-20 20:06:30 944人浏览 八月长安
摘要

本篇内容介绍了“ThinkORM新增加的虚拟模型功能有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最新版本的ThinkORM增加了

本篇内容介绍了“ThinkORM新增加的虚拟模型功能有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

最新版本的ThinkORM增加了一个虚拟模型功能,这个功能早在ThinkPHP3.2版本中出现过,但新版的虚拟模型功能更为强大。

在之前,如果需要进行虚拟模型操作的话,模型类就不能继承Model类,然后封装自己的业务逻辑,虽然也能满足部分需求,但无法实现获取器、修改器以及模型关联的功能,比如:

<?phpnamespace app\model;class User{    public function getInfo()    {        // 业务逻辑代码    }}

新版着重强化了虚拟模型,数据只能保存在内存中,而且只能通过实例化的方式来创建数据,虚拟模型可以保留模型的大部分功能,包括获取器、模型事件,甚至是关联操作,另外一方面也更方便单元测试

要使用虚拟模型,只需要在模型定义的时候引入Virtual trait,例如:

<?phpnamespace app\model;use think\Model;use think\model\concern\Virtual;class User extends Model{    use Virtual;    public function getInfo()    {        // 业务逻辑代码    }    public function getStatusAttr($value)    {        $status = [-1=>'删除',0=>'禁用',1=>'正常',2=>'待审核'];        return $status[$value];    }    public function setNameAttr($value)    {        return strtolower($value);    }    public function blog()    {        return $this->hasMany('Blog');    }}

你不需要在数据库中存在有对应的user表,但仍然可以进行相关数据操作,下面是一些简单例子。

// 创建数据$data = [    'id'      =>    8,    'name'    =>    'Think',    'status'  =>    1,];$user = User::create($data);// 获取数据 (支持获取器)echo $user->name; // 输出 think// 修改数据 (支持修改器)$user->name = 'ThinkPHP'; // 实际数据变成 thinkphp// 保存数据到内存 并且调用模型事件$user->save();// 获取关联博客数据$blog = $user->blog()->limit(3)->select();// 删除数据(同时删除关联博客数据)$user->together(['blog'])->delete();

由于虚拟模型没有实际的数据表,所以你不能进行任何的查询操作,下面的代码就会抛出异常:

User::find(1);// 会抛出下面的异常// virtual model not support db query

注意,虚拟模型不支持自动时间戳功能(但仍然支持时间字段格式化),如果需要时间字段需要在实例化的时候传入。

如果有定义获取器、修改器及模型事件的话,仍然有效,大家有时间可以测试下。

“ThinkORM新增加的虚拟模型功能有什么作用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: ThinkORM新增加的虚拟模型功能有什么作用

本文链接: https://lsjlt.com/news/299780.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ThinkORM新增加的虚拟模型功能有什么作用
    本篇内容介绍了“ThinkORM新增加的虚拟模型功能有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最新版本的ThinkORM增加了...
    99+
    2023-06-20
  • 新加坡虚拟主机租用能干什么
    新加坡虚拟主机租用可以用于搭建个人博客、企业官网、电子商务网站、在线教育平台、社交网络、在线游戏等网站或应用。虚拟主机租用还可以用于...
    99+
    2023-06-05
    新加坡虚拟主机 虚拟主机
  • php7新增的两个操作符有什么作用
    这篇文章主要讲解了“php7新增的两个操作符有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php7新增的两个操作符有什么作用”吧!在PHP7发布以后,大家发现一个重要的改变是它增强...
    99+
    2023-07-05
  • CDN加速服务有什么功能和作用
    本篇内容主要讲解“CDN加速服务有什么功能和作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CDN加速服务有什么功能和作用”吧!CDN是什么?CDN是Content Delivery Netw...
    99+
    2023-06-10
  • continue的功能有什么作用
    今天小编给大家分享一下continue的功能有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。continue的功能是...
    99+
    2023-07-02
  • Python虚拟机中的Code obejct有什么作用
    这篇文章主要介绍了Python虚拟机中的Code obejct有什么作用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python虚拟机中的Code obejct有什么作用文章都会有所收获,...
    99+
    2023-07-05
  • Windows安全模式的功能和作用是什么
    这篇文章主要讲解了“Windows安全模式的功能和作用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Windows安全模式的功能和作用是什么”吧!什么是Windows的安全模式?安全模...
    99+
    2023-06-28
  • 如何使用MUI框架模拟手机端的下拉刷新和上拉加载功能
    小编给大家分享一下如何使用MUI框架模拟手机端的下拉刷新和上拉加载功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mui框架基...
    99+
    2024-04-02
  • ReActor模型在3D建模和虚拟现实中的动态交互与渲染有哪些创新应用
    ReActor模型在3D建模和虚拟现实中具有以下创新应用: 动态交互:ReActor模型通过使用反应式材料和传感器技术,可以实现...
    99+
    2024-05-21
    ReActor
  • Swift中的高阶函数功能有什么作用
    这篇“Swift中的高阶函数功能有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Swift中的高阶函数功能有什么作用...
    99+
    2023-07-05
  • win8的sendto功能有什么作用?win8的sendto的使用技巧
    大家都知道右键有sendto(即发送到)这个功能,那我们就可以利用这一个功能来使工作更快捷方便.只要把一个软件的快捷方式放到sendto目录下,那我们就可以在任何窗口快速的打开它. 1、首先,我们要找到s...
    99+
    2022-06-04
    有什么 使用技巧 作用
  • Windows7的设备中心包括哪些功能有什么作用
      Windows Mobile 设备中心是 Windows 7 中替代 Microsoft ActiveSync (R) 的新名称,它为 Windows 7 提供针对 Windows Mobile 驱动的设备的总设备管...
    99+
    2023-06-02
    win7 设备中心 作用 设备 Windows7 中心 功能
  • 阿里云服务器的优点有什么作用和功能
    阿里云服务器是一款由中国云服务提供商阿里云提供的云服务器产品,它的优点主要在于以下几个方面: 高可用性:阿里云服务器具有多重冗余备份机制,可提供高可用性保障,有效避免单点故障对整个系统的影响,确保系统稳定运行。 稳定性:阿里云服务器采用...
    99+
    2023-10-26
    有什么 阿里 优点
  • 阿里云服务器的优点有什么作用和功能呢
    稳定性和可靠性:阿里云服务器采用了先进的技术和高性能的硬件,可以有效抵御各种网络攻击和数据泄露风险。同时,阿里云服务器还拥有完善的故障处理机制,可以保证服务器在各种场景下都能够稳定运行。 安全性和保密性:阿里云服务器采用了多层次的安全保障...
    99+
    2023-10-28
    有什么 阿里 优点
  • 阿里云服务器的作用和功能有哪些特点和用途是什么
    作用: 1. 提供高性能的计算能力,支持大规模分布式计算。 2. 支持弹性扩容和自动缩容,满足业务增长需求。 3. 支持负载均衡和高可用性,保证应用的稳定性和可用性。 4. 提供多种部署方式,包括云服务器、容器服务、数据库等,满足不同应用场...
    99+
    2023-10-27
    阿里 用途 作用
  • 云服务器cvm实例的计费模式有哪些功能可以用什么代替
    按小时计费模式 这种计费模式适用于需要实时处理大量数据的云服务器Cvm实例。对于那些需要实时响应用户请求的云服务器Cvm实例,这种计费模式可以提供更高的灵活性和成本效益。例如,对于一些需要高并发的应用程序,如Web服务器或数据库服务器...
    99+
    2023-10-28
    可以用 实例 模式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作