站三界导航
首页 TP代码TP5 查询构造器之查询语法、链式操作、聚合查询、左连接、右连接、子查询以及其他

TP5 查询构造器之查询语法、链式操作、聚合查询、左连接、右连接、子查询以及其他

  • TP代码
  • 来源:站三界导航
  • 46阅读
  • 2023-07-23

列查询和值查询

// 查询值,返回某个字段的值
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) "专员" }
  */  

本文结束
本文来自投稿,不代表站三界导航立场,如若转载,请注明出处:https://www.zhansanjie.com/article/details/47626.html

版权声明:

1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

2、本站仅提供信息发布平台,不承担相关法律责任。

3、若侵犯您的版权或隐私,请联系本站管理员删除。

4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。

分享
站三界导航
本站声明:本站严格遵守国家相关法律规定,非正规网站一概不予收录。本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,站三界导航不承担任何责任。在此特别感谢您对站三界导航的支持与厚爱。