TP5查询构造器查询语句select、find、colum、value详解

以下表为例:
在这里插入图片描述

Select

find和select方法之前可以使用所有的链式操作方法。
查询数据集:

  $res = Db::table('package_price_nb')->where('id',1)->select();
  //"SELECT * FROM `package_price_nb` WHERE  `id` = 1"

  halt($res);

打印出来的数据格式:
在这里插入图片描述

find

find和select方法之前可以使用所有的链式操作方法。

$res = Db::name('package_price_nb')->where('id',1)->find();
  //SELECT * FROM `package_price_nb` WHERE  `id` = 1 LIMIT 1
halt($res);

打印出来的结果:在这里插入图片描述

解析:select和find查询都是返回数组。因为find打印出来的sql语句有”limit 1“,因此find查询出来的数据是一维数组;select返回的是二位数组

colum

该方法很有意思,其返回结果由字段数量决定
一个字段:返回一维数组;
二个字段:返回一维数组,第一个字段为键名,第二个字段为元素值;
三个或更多字段:返回二维数组,第一个字段为键名,全部字段值为数据元素;
指定键名:方法的第二个参数,可以自定义结果数组的键名。
实例:

$res = Db::table('package_price_nb')->where('id',1)->column('package_name');
//SELECT `package_name` FROM `package_price_nb` WHERE  `id` = 1
$res2 = Db::table('package_price_nb')->where('id',1)->column('package_name,price');
//SELECT `package_name`,`price` FROM `package_price_nb` WHERE  `id` = 1
$res3 = Db::table('package_price_nb')->where('id',1)->column('package_name,id,price');
//SELECT `package_name`,`id`,`price` FROM `package_price_nb` WHERE  `id` = 1
$res4 = Db::table('package_price_nb')->where('id',1)->column('package_name,id,price','id');
//SELECT `id`,`package_name`,`price` FROM `package_price_nb` WHERE  `id` = 1
halt($res);

打印结果,依次如下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

value

  1. 字段值针对单条记录才有意义,如果返回多个记录,仅获取第一个记录的指定字段值
$res = Db::table('package_price_nb')->where('id',1)->value('package_name,id,price');
//SELECT `package_name`,`id`,`price` FROM `package_price_nb` WHERE  `id` = 1 LIMIT 1

其实上面的查询语句等同于
$res = Db::table('package_price_nb')->where('id',1)->value('package_name');

打印出来的结果:
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值