日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Discuz!X3.1数据库的操作(三)

發布時間:2025/6/17 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Discuz!X3.1数据库的操作(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。