- 153浏览
- 2022-05-04
列查询和值查询
// 查询值,返回某个字段的值
Db::table('think_user')->where('id',1)->value('name');
// 查询列,返回数组
Db::table('think_user')->where('status',1)->column('name');
// 指定索引
Db::table('think_user')->where('status',1)->column('name','id');
Db::table('think_user')->where('status',1)->column('id,name'); // 同tp3的getField
添加数据
//使用 Db 类的 insert 方法向数据库提交一条数据
$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::table('think_user')->insert($data);
//使用insertGetId方法新增数据并返回主键值:
Db::name('user')->insertGetId($data);
//添加多条数据直接向 Db 类的 insertAll 方法传入需要添加的数据即可
```php
$data = [
['foo' => 'bar', 'bar' => 'foo'],
['foo' => 'bar1', 'bar' => 'foo1'],
['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data);
name和table区别
//Db::table()使用这个必须指定完整的表名
Db::table('think_user')->where('id',1)->find();
/*
如果数据库中的表统一了表前缀,
在application/database.php中的也写明prefix => '前缀_'
就可以使用
*/
Db::name('think_user')->where('id',1)->find();
//db('')是助手函数,
//注意此助手函数,每次都会重新连接mysql!所以这个助手函数少使用
db('user')->where(['id'=>1])->select();
//数据库中的表名为 fa_user
find和select的区别现象:find()返回一个一维数组,select()返回一个二维数组
原因:find转换为sql语句时会加一个limit 1,因此会只查第一条数据
$admin_role_name = Db::name('admin_role')->field('id,name')->select();
/*Sql语句:
SELECT `id`,`name` FROM `admin_role
查询结果:
array(3) { [0]=> array(2) { ["id"]=> int(1) ["name"]=> string(6) "专员" } [1]=> array(2) { ["id"]=> int(4) ["name"]=> string(6) "仓库" } [2]=> array(2) { ["id"]=> int(5) ["name"]=> string(19) "普通用户-大屏" } }*/
$admin_role_name = Db::name('admin_role')->field('id,name')->find();
/*Sql语句:
SELECT `id`,`name` FROM `admin_role` LIMIT 1
查询结果:
array(2) { ["id"]=> int(1) ["name"]=> string(6) "专员" }
*/
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。