ThinkPHP5 查询数据并处理结果

在处理数据库查询结果时遇到了些问题,记录下用到过的几种查询方式和结果处理。

1. 查询某条记录

  1. $where=array(
  2. "version_id"=>$version_id
  3. );
  4. $data = model("PackageWhitelist")->where($where)->find();
  5. $this->assign("package_id",$package_id);
  6. $where=array(
  7. "package_id"=>$package_id
  8. );
  9. $data = model("Package")->where($where)->find();
  10. if($data){
  11. $this->assign("target_version",$data[‘target_version‘]);
  12. }

2. 查询某条记录某个字段

  1. $this->assign("device_number",$device_number_list[‘device_number‘]);

3. 查询多个记录某个字段 , 并处理结果,结果是一个数组集

  1. $where=array(
  2. "version_id"=>$version_id
  3. );
  4. $data = model("PackageWhitelist")->where($where)->field("device_number")->select();
  5. $device_number_list=‘‘;
  6. foreach($data as $val){
  7. $list = $val->toArray();
  8. if($device_number_list){
  9. $device_number_list=$device_number_list.‘;‘.$list["device_number"];
  10. }else{
  11. $device_number_list=$list["device_number"];
  12. }
  13. }

4. 查询多条记录

  1. $where=array(
  2. "version_id"=>$version_id
  3. );
  4. $data = model("PackageWhitelist")->where($where)->select();
  5. $device_number_list=‘‘;
  6. foreach($data as $val){
  7. $list = $val->toArray();
  8. if($device_number_list){
  9. $device_number_list=$device_number_list.‘;‘.$list["device_number"];
  10. }else{
  11. $device_number_list=$list["device_number"];
  12. }
  13. }

5. 已页形式查询,并处理结果。

    1. public function index($version_id){
    2. $where=array(
    3. "version_id"=>$version_id
    4. );
    5. $version_name = model("Version")->where($where)->field("version_name")->find();
    6. $listrows=config("LISTROWS")?config("LISTROWS"):10;
    7. $package_lists=model("Package")->where($where)->paginate($listrows);
    8. $package_infos =  $package_lists->toArray()["data"];
    9. foreach($package_infos as $key=>$value){
    10. $package_infos[$key] = array("source_version" => $version_name["version_name"]) + $package_infos[$key];
    11. }
    12. }
时间: 2024-10-27 02:59:12

ThinkPHP5 查询数据并处理结果的相关文章

Oracle in 查询数据

问题描述: 查询所有的数据,查询结果:146360 select count(1) from bank_cde; in查询的获取部分数据,查询结果 :73080 select count(1) from bank_cde t where t.belongcode2 in('ABC','BCOM','BOC','CCB','CEB','CGB','CIB','CITIC','CMBC','ICBC','PAB','POST','SPDB'); not in查询数据,结果为0 select coun

。。。Hibernate 查询数据 事务管理。。。

在Hibernate中,查询数据的时候,可能会需要事务的管理,为什么呢?因为在查询数据库的时候,Hibernate将数据从数据库里面查询出来之后,会先把数据放入Hibernate的session缓存里,下次你再次发送同一个请求的时候,Hibernate会先从缓存里面查数据,如果发现有这样的数据,OK,那就直接把这个数据拿过去显示,如果没有的话,才会到数据库里面查询显示.这个就是说,在页面显示的数据是A,到后台把数据改为B,现在前台刷新,则还会显示数据A,不会显示数据B的原因!

查询数据过多页面反应慢引入缓存解决方案(Redis、H2)

问题:原系统查询接口不支持分页也不可能加入分页支持,导致Ajax查询数据过多,返回数据达到2W多条记录时响应已经极慢,查询功能不要求数据实时性,页面反应速度极慢.体验不好:经排查是由于数据量过大导致写回页面的时候慢,实现是直接Servlet输出流写到页面上(output.write(buffer, 0, b)): 需求变更:加快页面相应速度,页面要有分页功能,可以改变原接口 在这种情况下有两种解决方案: 1.前端js分页 2.加入第三方缓存部件(内存数据库等) 两种解决方案的缺点: 第一种方案的

Sql Server 存储过程中查询数据无法使用 Union(All)

原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正常的SQL语句,使用了Union(All)查询: SELECT ci.CustId --客户编号 , ci.CustNam --客户名称 , ci.ContactBy --联系人 , ci.Conacts --联系电话 , ci.Addr -- 联系地址 , ci.Notes --备注信息 , ai

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

MySQL入门很简单: 8查询数据

1. 查询语句语法 SELECT 属性列表 FROM 表名和视图列表 [WHERE 条件表达式1] [GROUP BY 属性名1 [HAVING t条件表达式2]] [ORDER BY 属性名2 [ASC| DESC] ] 2. 在单表上查询数据 1)查询所有字段 第一种方法:列出表的所有字段 SELECT num, name, age, sex FROM employee; 第二种方法:使用*查询所有字段 SELECT * FROM 表名 2)查询指定字段 //结果字段与SELECT语句中字段

QGrid系列教程--查询数据、编辑数据、删除数据

查询数据 在ProcessRequest 函数下修改: public void ProcessRequest(HttpContext context) { //查找 if (context.Request.Params.Get("_search") == "true") { return; } NameValueCollection forms = context.Request.Form; string strOperation = forms.Get("

SQL Server 基础 03 查询数据基础

查询数据 简单的查询 1 create table stu_info 2 ( 3 sno int not null 4 ,sname varchar(20) not null 5 ,sex varchar(2) not null 6 ,birth varchar(20) not null 7 ,email varchar(20) not null 8 ,telephone int not null 9 ,depart varchar(20) not null 10 ) 11 12 13 sele

PHP 从 MongoDb 中查询数据怎么样实现

一.软件环境(版本非必须) php v5.6 扩展:MongoDB nginx v1.11 mongodb v3.2 note: 必须安装MongoDB扩展 二.连接 $client = new MongoClient($server, $option); $server 变量是个字符串,描述要连接的服务器 mongodb://[username:[email protected]]host1[:port1][,host2[:port2:],...]/db 其中必要的是: username 数据