以实例演示:查询构造器中的10个最常用的方法 Table(),field(),order(),where(),limit(),insert(),insertAll(),update(),delete(),以及如何获取自增主键和数据打包方法data()
1、查询数据
// table方法必须指定完整的数据表名
Db::table('think_user')->where('id',1)->field(['id'=>'编号','title'=>'标题'])->order('id','desc')->limit(5)->find();
//返回的是一个二维数组,只有一条数据,查询多条就用select();使用Db::name()查询表名是可以不加表前缀的。
2、添加数据
$data = ['name' => '张飞', 'age' => '39'];
Db::name('user')->insert($data);//返回的是添加数据的条数
如果希望返回自增Id可以使用下面的方法:$id = Db::name('user')->insertGetId($data);
//添加多条数据
$data = [
['age' => '33', 'name' => '李白'],
['age' => '25', 'name' => '杜甫']
];
Db::name('user')->insertAll($data);//返回的是添加成功的条数
也可以使用 data 方法
Db::name('user')->data($data)->insertAll();
3、更新数据
Db::name('user')
->where('id', $id)
->update(['name' => 'thinkphp']);//数据中不含有主键id
Db::name('user')
->where('id', 1)
->data(['name' => 'thinkphp'])
->update();//数据中不含有主键id
Db::name('user')
->update(['name' => 'thinkphp','id'=>1]);//数据中含有主键Id
4、删除数据
// 根据主键删除
Db::table('think_user')->delete(1);
Db::table('think_user')->delete([1,2,3]);
// 条件删除
Db::table('think_user')->where('id',1)->delete();
Db::table('think_user')->where('id','<',10)->delete();
// 无条件删除所有数据
Db::name('user')->delete(true);
Db::name('user')
->where('id', 1)
->useSoftDelete('delete_time',time())
->delete();//软删除,用delete_time记录删除时间