• 12月3日下午:thinkphp框架中的视图以及模型剩余部分


    回忆知识:
    dump()与halt()方法
    dump():输出内容后不会终止脚本,会继续向下执行
    halt():输出内容后会终止脚本,结束程序

    //dump()和halt()
        public function haltTest(){
            $result = \db(demo)->where(id,'=',1)->select();
            dump($result);  //查询出字段后不会终止运行,会继续执行delete操作
            halt($result);  //查询操作完成后会终止程序的运行
            $a = Db::name('demo')->delete(); 
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    视图部分问题,在讲fastadmin目录时讲到过
    如果你的控制器继承了\think\Controller类的话,则无需自己实例化视图类,可以直接调用控制器基础类封装的相关视图类的方法。错误传递变量
    正确传递变量
    助手函数
    如果你只是需要渲染模板输出的话,可以使用系统提供的助手函数view,可以完成相同的功能:

    return view('hello',['name'=>'thinkphp']);
    
    • 1

    模型
    获取器

    使用场景:对于数据库中常常为了降低数据库的存储压力,一般我们对于{订单时间,性别,账号状态,订单已完成,订单未完成}这些字段,会使用(1或者0),用来表示,但是我们在页面上又想让用户看到相关的文本,所以就会使用到获取器
    获取器如图所示
    修改器
    修改器的作用是可以在数据赋值的时候自动进行转换处理
    如图所示修改器
    时间戳

    系统支持自动写入创建和更新的时间戳字段,有两种方式配置支持。
    第一种方式,是在数据库配置文件中添加全局设置:
    // 开启自动写入时间戳字段
    ‘auto_timestamp’ => true,
    第二种是直接在单独的模型类里面设置:
    protected $autoWriteTimestamp = true;

    在进行模型操作时会自动存储时间戳
    只读字段
    用于密码等一些重要字段,只希望别人能查询到,但不能进行修改
    软删除
    在之前的数据库学习中提到过,软删除就是在表中添加一个delete_time的字段,模型操作删除时,会赋给delete_time时间戳,但是在表中数据还会存在,属于逻辑上的删除,但是在页面的查询中是查询不到的
    软删除
    关联
    在后期项目开发中,并不会像我们之前那样进行单表操作,而是会进行多表联合查询
    一对一关联
    官方文档给出的两种方法
    hasOne(‘关联模型名’,‘外键名’,‘主键名’,[‘模型别名定义’],‘join类型’);
    belongsTo(‘关联模型名’,‘外键名’,‘关联表主键名’,[‘模型别名定义’],‘join类型’);
    belongsTo

  • 相关阅读:
    爆肝三万字,带你重温Java基础。。。
    webadi修改经历
    ETL为什么经常变成ELT甚至LET?
    基于go语言gin框架的web项目骨架
    强化学习和推荐系统的结合应用
    [附源码]计算机毕业设计绿色生鲜Springboot程序
    【博主已解决】【npm】npm publish 发布包报错 代码:ERR400
    jprofiler java应用内存监控、诊断分析
    UE4\UE5 蓝图节点Delay与Retriggerable Delay的使用与区别
    汉明距离00
  • 原文地址:https://blog.csdn.net/qq_53457276/article/details/128163275