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字段的值会统一进行小写转换