Discuz!X3.1数据库的操作(三)
MVC开发思想简介
MVC全名是Model-View-Controller,是模型(model)-视图(view)-控制器(controller)的缩写,它是一种软件设计思想。使用一种业务逻辑,数据和显示分离的方法组织代码,实现代码复用的最大化。
MVC的执行流程
mvc执行流程
模型目录介绍
内置模型目录
产品根目录/source/class/table/table_xxx.php
插件模型目录
产品根目录/source/plugin/插件目录/table/table_xxx.php
模型调用方法
内置模型调用
C::t('模型类名')->模型方法()
1
2 3 4 5 6 7 8 |
<?php
$data = C::t('common_credit_rule')->fetch_all_rule(); print_r($data); //通过$action动作取出数据 $data1 = C::t('common_credit_rule')->fetch_all_by_action(reply); print_r($data1); ?> |
插件模型调用
C::t('#插件标识符#模型类名')->模型方法()
1
2 3 4 |
<?php
//调用插件模型 $data2 = C::t('#licai#test_db')->test() ?> |
模型基类属性介绍
属性名 | 属性值 |
$_table | 数据表名称 |
$_pk | 数据表主键名称 |
%_pre_cache_key | 数据缓存Key前缀 |
用法:
1
2 3 |
$this->_table = 'test_db';//数据库表名称
$this->_pk = 'dId';//数据表主键名称 $this->_pre_cache_key = 'test_db_';//数据缓存 |
模型基类CURD方法介绍
方法名 | 方法作用 |
insert() | 插入数据 |
delete() | 删除数据 |
update | 更新数据 |
fetch() | 根据主键值查询数据 |
fetch_all() | 根据主键值查询数据组 |
range() | 查询指定范围的数据 |
count() | 计算数据表数据总数 |
用法(模型):
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?php
//防止程序跳过主程序执行判断 if(!defined('IN_DISCUZ')) { exit('Access Denied'); } class table_test_db extends discuz_table{ public function __construct() { $this->_table = 'test_db';//数据库表名称 $this->_pk = 'dId';//数据表主键名称 //$this->_pre_cache_key = 'test_db_';//数据缓存 parent::__construct(); } //插入数据 public function add_name($name){ $this->insert(array( 'dname'=>$name )); } //更新数据 public function change_name_by_id($dId,$name){ $this->update($dId,array( 'dName' => $name, )); } //删除数据 public function delete_by_id($dId){ $this->delete($dId); } //取数据区间 public function get_last_name(){ return $this -> range(0,5,'DESC'); } } |
用法(控制器):
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php
header("content-type:text/html;charset=utf-8"); //调用插件模型 $dId = 100; $name = "2121312"; //C::t('#licai#test_db')->add_name($name); //C::t('#licai#test_db')->change_name_by_id('2',$name); //C::t('#licai#test_db')->delete_by_id($dId); //$data = C::t('#licai#test_db')->fetch($dId);取单条数据 //print_r($data); //$data = C::t('#licai#test_db')->fetch_all(array(1,2,5));取多条数据 //print_r($data); //$data = C::t('#licai#test_db')->count();计算数据 //print_r($data); $data = C::t('#licai#test_db')->get_last_name(); print_r($data); ?> |
模型基类其他方法介绍
方法名 | 方法作用 |
truncate() | 清空数据表 |
optimize() | 优化数据表 |
checkpk | 检查主键是否设置 |
fetch_all_field() | 取出所有字段 |
getTable() | 获取表名称 |
用法
1
2 3 4 5 6 7 8 9 10 11 12 |
<?php
header("content-type:text/html;charset=utf-8"); //调用插件模型 $dId = 100; $name = "2121312"; //C::t('#licai#test_db')->truncate();//清空数据表 //C::t('#licai#test_db')->optimize(); //C::t('#licai#test_db')->checkpk();//检查是否设置pk值主键 //$data = C::t('#licai#test_db')->fetch_all_field();//取出所有字段 //print_r($data); //$data = C::t('#licai#test_db')->getTable();//获取表名称 //print_r($data); |
转载于:https://www.cnblogs.com/alleyonline/p/7498586.html
Discuz!X3.1数据库的操作(三)相关推荐
- Discuz!X3.4全新安装详细图文教程
说明:本文档用于帮助您全新安装完整的 Discuz! X3.4 社区软件 一.下载 Discuz! X3.4 到本地或者服务器上 下载地址:https://gitee.com/3dming/Discu ...
- Mysql数据库(三)——mysql数据库高级操作
Mysql数据库(三)--mysql数据库高级操作 一.指定主键的另一种方式 二.克隆/复制一个表 1.方法一 2.方法二 三.清空表,删除表内数据 1.方法一 2.方法二 3.方法三 4.三个删除方 ...
- 【数据库】(三)-- mysql 数据库操作应用
[数据库](三)-- mysql 数据库操作应用 操作说明 使用 navicat 针对 mysql 进行 sql 的使用,mysql 运行在本地的 docker 环境的应用容器中. 语法和关键字什么的 ...
- 24-在线考试系统数据库-班级学生信息数据操作(三)
24-在线考试系统数据库-班级学生信息数据操作(三) 项目描述 伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的"在线考试系统"也得到了当今远程教育研究者的关注,考试是考察 ...
- 数据存储之 SQLite 数据库操作(三)
上一讲中我们讲到了SQLite数据库的操作方法 [数据存储之SQLite数据库操作(二)],我们主要是以SQL语句对数据库进行增删改查,这一讲我们来学习一下 Android 建议的对数据库的操作方法 ...
- discuz x3.1 整站搬家换域名攻略
一.备份网站数据 请关闭论坛,尤其是数据备份和还原时请不要操作论坛. 进入后台→站长→数据库→备份,备份成功以后,数据保存在 data/backup_**. 二.备份网站文件 把整个网站打包,下载下来 ...
- DZ X3用哪个版本MySQL_ComsenzEXP X3版本发布(集成 APM 环境和 Discuz! X3)【最后更新:20130511】...
本帖最后由 xooass 于 2016-8-9 15:30 编辑 更新日志:2013-05-11 发布首个测试版本 ComsenzEXP X3 beta20130511 一.什么是ComsenzEXP ...
- discuz3.4安装php,Discuz!X3.4论坛源码下载 及 全新安装教程
Discuz!X3.4论坛源码下载 及 全新安装教程 一.下载 Discuz! X3.4 到本地或者服务器上 简体GBK.简体UTF8.繁体UTF8的打包版下载: 二.解压并上传 Discuz! X3 ...
- phpcms v9和discuz X3.1实现同步登陆退出论坛(已实现)
网络上文章很多,按步骤配置好了之后phpcms可以同步登录dz,但是dz登录后状态却无法同步到phpcms,网络上找了很多资料都大同小异,头大.只能自己调试了,废话不多说了. 以下网络上抄的安装步骤, ...
最新文章
- 如何彻底禁用VS 2008的智能感知功能
- 137% YOLOv3加速、10倍搜索性能提升!百度飞桨推出模型压缩神器
- UNIX系统编程(2)
- ThinkPHP如何判断一个更新操作是否成功
- 让IE兼容background-size的方法_background-size ie下使用
- spring--aop总结
- 更好的对比样本选择,更好的对比效果
- OpenCASCADE绘制测试线束:OCAF 命令之通用属性命令
- ASP.NET Core开发常见“坑”
- 怎样编译libdb_比特币编译(Ubuntu 16.04)
- Controller向View传值方式总结
- react学习(41)----react中的jsx简介
- Part5 数据的共享与保护 5.4类的友元5.5共享数据的保护
- 计算机一级13点,2013年计算机一级考试MsOffice备考题及答案(13)
- 在react里写原生js_从零开始使用react+antd搭建项目
- Java中大数据数组,Java基础学习笔记之数组详解
- DNS服务器配置详解
- SpringBoot如何实现自动配置
- python中wordcloud函数不同形状云图_10行Python代码生成任意形状的文字云图
- cad文字递增快捷键_AutoCAD常用快捷键命令大全(文字版)