zoukankan      html  css  js  c++  java
  • ThinkPHP中的模型二

    ThinkPHP中的模型

    1、为什么要创建数据对象

    案例:使用ThinkPHP完成部门管理

    ① 设计数据库

    ② 创建Dept控制器

    路径:./Application/Admin/Controller创建控制器

    规则:DeptController.class.php

    编程程序三步走

    ③ 复制add.html模板到./Application/Admin/View/Dept文件夹,更改模板路径

    ④ 更改View/Index/index.html左侧导航

    ⑤ 获取添加功能的上级部门(使用模型)

    路径:./Application/Admin/Model/DeptModel.class.php

    编程模型代码三步走:

    在控制器中实例化模型,完成载入上级部门功能。

    1)实例化模型

    2)调用select方法

    3)分配变量到模板文件

    在模板文件add.html中,显示上级部门列表

    ⑥ 实现数据的添加功能addOk

    在模板页面中,编程Javascript代码,提交表单数据

    定义表单提交页面

    在控制器中定义addOk方法实现添加操作

    要用到的知识点:I方法,主要功能:接收表单数据,安全性更高

    2、数据对象的创建方式

    ⑦ 引入create方法创建数据对象

    以上addOk虽然可以正常添加数据到数据库,但是对于表单的接收和处理过于冗余,我们在ThinkPHP中可以使用create方法对其进行简化操作。

    3、create方法分析

    使用Zend软件追踪create方法,如下图所示:

    当数据处理完成后,会将接收的表单数据赋值给当前对象

    问题:为什么add方法不添加任何参数也可以添加成功呢?

    答:继续分析add方法,代码如下:

    如果add方法中没有任何参数,系统会自动读取$this->data这个属性,又由于刚才create方法在处理完成后,会将表单数据存放于$this->data属性中,所以系统会自动将表单数据添加到数据表中。

    4、完成部门列表功能

    ① 在控制器中定义index方法,如下图所示:

    ② 复制index.html模板到./Application/Admin/View/Dept文件夹下并更改路径

  • 相关阅读:
    查询mysql哪些表正在被锁状态
    查询mysql哪些表正在被锁状态
    查询mysql哪些表正在被锁状态
    JS模块化工具requirejs教程(二):基本知识
    JS模块化工具requirejs教程(二):基本知识
    JS模块化工具requirejs教程(一):初识requirejs
    sublime的安装与使用
    清除浏览器默认样式——css reset & normalize.css
    webstorm常见快捷方法与遇到的一些问题
    【Git】commit成功后,GitHub贡献图方格没变绿
  • 原文地址:https://www.cnblogs.com/nyxd/p/5366316.html
Copyright © 2011-2022 走看看