ThinkPHP 添加的語法
方式一:
//ThinkPHP插入數據 單條 帶表前綴 插入成功後 返回行數
$data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'aaaaaa'];
$ret = Db::table("tp_articles")->insert($data);
dump($ret);
方式二:
//ThinkPHP插入數據 單條 不帶表前綴 插入成功後 返回行數
$data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'aaaaaa'];
$ret = Db::name("articles")->insert($data);
dump($ret);
方式三:
//ThinkPHP插入數據 單條 不帶表前綴 插入成功後 返回成功行數的ID
$data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'aaaaaa'];
$ret = db("articles")->insertGetId($data);
dump($ret);
ThinkPHP修改語法
方式一:
$data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'bbbbbb'];
$ret = db("articles")->where("id",223)->update($data);
dump($ret);
方式二:
$data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'cccccc'];
$ret = db("articles")->where("id","=",223)->update($data);
dump($ret);
方式三:
$data = ["id" => 223,'title' => '我是標題111', 'desn' => '我是描述','body'=>'dddddd'];
$ret = db("articles")->update($data);
dump($ret);
實現統計瀏覽量:
//修改 實現頁面瀏覽量
$ret = db("articles")->where("id",223)->update([
"click" => Db::raw("click+1")
]);
dump($ret);
ThinkPHP刪除
刪除一條語句
$ret = db::table("tp_articles")->delete(223);
刪除多條語句
$ret = db::table("tp_articles")->delete([221,219,218]);
# 查詢一條數據
db('user')->find(主鍵ID);
Db::name('user')->where('id',1)->find();
# 如果希望在沒有找到數據後拋出異常可以使用
Db::name('user')->where('id',1)->findOrFail();
# 查詢多條記錄
Db::name('user')->where('status',1)->select();
# 如果希望在沒有找到數據後拋出異常可以使用
Db::name('user')->where('status',1)->selectOrFail();
# 查詢某個字段的值可以用
Db::name('user')->where('id',1)->value('name');
# 查詢某一列的值可以用
Db::name('user')->where('id',1)->column('name');
# 排序並獲取指定記錄條數
Db::name('user')->order('id', 'desc')->limit(0,10)->select();
# 聚合查詢
Db::name('user')->count();
Db::name('user')->max('score');
Db::name('user')->where('score', '>', 0)->min('score');
Db::name('user')->avg('score');
Db::name('user')->where('id',10)->sum('score');
# 批量(字段)查詢
$map = [
['name', 'like', 'thinkphp%'],
['title', 'like', '%thinkphp'],
['id', '>', 0],
];
Db::table('think_user')
->where([ $map ])
->where('status',1)
->select();
# 閉包查詢
$name = 'thinkphp';
$id = 10;
Db::table('think_user')->where(function ($query) use($name, $id) {
$query->where('name', $name)->whereOr('id', '>', $id);
})->select();
SELECT * FROM `think_user` WHERE ( `name` = 'thinkphp' OR `id` > 10 )
# 獲取器 5.1.20之後纔有
Db::name('user')->withAttr('name', function($value, $data) {
return strtolower($value);
})->select();
上面的代碼,查詢的數據集數據中的name字段的值會統一進行小寫轉換