ThinkPHP6项目基操(7.模型)
模型
- 一、模型的定義及基本使用
- 二、模型查詢及其他使用
- 1. new 模型對象
- 2. 模型獲取器
一、模型的定義及基本使用
與Db操作數據庫相比,使用模型Model類更方便。
在controller文件夾同級目錄新建文件夾model,再新建Model類,文件名與數據庫的數據表名對應,如數據表為demo,那么模型類取名為Demo.php:
在控制器中使用模型類:
public function model1(){$result = Demo::find(2);dump($result); }瀏覽器輸出:
這是輸出的模型對象,如果要直接輸出data數據,可以使用toArray方法:
瀏覽器輸出:
二、模型查詢及其他使用
1. new 模型對象
除了上面的直接使用靜態方法,也可以先new一個對象再來操作,返回的也是模型對象或模型對象集合,也可以使用toArray方法來轉換為數組:
public function model2(){$model = new Demo();$result = $model->where('id','>',2)->select();dump($result); }2. 模型獲取器
模型獲取器可以修改字段的值,也可以定義數據表不存在的字段,方法名稱定義規則為get[字段大駝峰名]Attr,如getStatusTextAttr,數據庫中有status字段,model類修改為:
<?phpnamespace app\model; use think\Model;class Demo extends Model {public function getStatusTextAttr($value, $data){$status = [0 => '待審核',1 => '正常',99 => '刪除'];return $status[$data['status']];} }控制器調用,大駝峰命名改為下劃線小寫方式:
public function model2(){$model = new Demo();$result = $model->find(2);dump($result->status_text); // "待審核"dump($result->toArray()); }但是直接轉換為數組,還是不會有status_text字段:
如果要獲取包含獲取器處理的數據表中不存在的數據屬性,可以使用append方法添加,數據表已存在的字段可以不用處理,會自動返回:
append的屬性可以是大駝峰命名,也可以是下劃線小寫方式:
dump($result->append(['status_text'])->toArray());結果:
??重磅推薦:免費商用電商系統
😏想白嫖整個電商系統用來商用?
🤑想有自己的商城實現財富自由?
🤓想學習最佳實踐提升自己技術?
快來進入🚀 傳送門 🚀,開源免費、完整示例帶你快速入門,輕松二開,走上人生巔峰!👨?🎓
總結
以上是生活随笔為你收集整理的ThinkPHP6项目基操(7.模型)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS7 安装 Nginx PH
- 下一篇: WEB编程学习之Windows安装运行T