Discuz!X3.1数据库的操作(三)
2017-09-09 16:32
429 查看
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); |
相关文章推荐
- Discuz!X3.1数据库的操作(一)
- Discuz!X3.1数据库的操作(二)
- discuz插件操作数据库实例
- Discuz!数据库操作DB类和C::t类介绍
- Discuz!X/数据库操作函数
- Discuz!数据库操作DB类和C::t类介绍
- Discuz!X3.1后台操作技巧(整合)
- Discuz!数据库操作DB类和C::t类介绍
- 数据库删除discuz 部分数据操作
- 数据操作__Discuz X2二次开发之数据库操作 DB类
- discuz学习笔记:以easyUI DataGrid为前台进行数据库增查删改操作
- discuz X3.2 DB:类数据库操作
- Discuz X2二次开发之数据库操作
- discuz插件操作数据库实例
- (菜鸟篇) 浅谈DISCUZ X系列 数据库的操作
- discuz数据库操作,记录备用
- 一、数据库概念和操作数据库的命令
- 模拟实现数据库常用操作效果
- JDBC之关于数据库操作回滚研究(JDBC之四)
- 跨服务器与本地服务器不同数据库的SQL操作语句