TP6中db操作数据库的方式(方法)和ORM模型操作数据库的方式(方法)
db庫認知基礎
注:orm獨立出來了,與tp5不同
配置數(shù)據(jù)庫:
通過env文件來具體配置,目的是不同的環(huán)境下,如線上服務器的配置只需要使用本環(huán)境的env文件就可以直接更改配置了
使用db:
① tp5中使用DB方法直接use think/Db即可,tp6中必須使用門面才能使用
use think\facade\Db;
public function hello()
{
$result = Db::table(“user”)->where(“id”,10)->find();
}
② 通過容器app()來獲取,tp6有,tp5沒有
public function hello()
{
app(‘db’)->table(“user”)->where(“id”, 10)->find();
}
db查詢方式講解
請參考手冊:https://www.kancloud.cn/manual/thinkphp6_0/1037532
CURD操作以及鏈式操作,在這里不做過多介紹
非常實用的SQL問題排查方案
第一種:鏈式查詢中嵌入:fetchsql()
第二種:echo Db::getLastSql();
模型初始
關于模型操作參考手冊:
https://www.kancloud.cn/manual/thinkphp6_0/1037579
此處不做過多介紹
模型查詢其他使用
模型查詢返回的是對象,可以toArray()方法轉(zhuǎn)換為數(shù)組
同時要注意:因為是對象所以可以->調(diào)用,也可以像數(shù)組一樣訪問我們的對象
模型獲取器的場景包括:
- 時間日期字段的格式化輸出;- 集合或枚舉類型的輸出;- 數(shù)字狀態(tài)字段的輸出;- 組合字段的輸出;例如,我們需要對狀態(tài)值進行轉(zhuǎn)換,可以使用:
<?php namespace app\model; use think\Model; class User extends Model { public function getStatusAttr($value) { $status = [-1=>'刪除',0=>'禁用',1=>'正常',2=>'待審核']; return $status[$value]; } } 數(shù)據(jù)表的字段會自動轉(zhuǎn)換為駝峰法,一般status字段的值采用數(shù)值類型,我們可以通過獲取器定義,自動轉(zhuǎn)換為字符串描述。 $user = User::find(1); echo $user->status; // 例如輸出“正常” 關于獲取器的使用詳見: https://www.kancloud.cn/manual/thinkphp6_0/1037588總結(jié)
以上是生活随笔為你收集整理的TP6中db操作数据库的方式(方法)和ORM模型操作数据库的方式(方法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js语音播报功能(1)
- 下一篇: 详解AUTOSAR:AUTOSRA软件架