获取列表数据(多条)

   /**
* 获取页面列表
* @param $params //查询条件 例:['id'=>['in','1,2']] ['status'=>1]
* @param array $orderby //排序 例:['id'=>'desc']
* @param array $limit //查询页数 例:[0,10]
* @param bool $is_total 是否需要总数
* @param string $fields 是否需要总数 例:'name'
* @return array
*/
public function resultsAction($params = [],$orderby = [],$limit = [],$is_total = true,$fields = ''){
if(empty($orderby)){
$orderby = array('id'=>'desc');
} //列表模型
$results = $this
->where($params)
->order($orderby)
->field($fields); //查询数量
if(!empty($limit)){
list($offset, $limit) = [$limit[0],$limit[1]]; $results = $results->limit($offset,$limit);
} //查询
$results = $results->select(); //把数据转为数组
$results = collection($results)->toArray(); //总数
if (!$is_total){
return $results;
} //查询总数
$total = $this
->where($params)
->count(); return $result = array("total" => $total, "rows" => $results);
}

获取单条数据

   /**
* 获取单数据
* @param array $params
* @param string $fields
*/
public function resultAction($params = [],$fields = ''){
$result = $this
->field($fields)
->where($params)
->find(); if(!empty($result)){
$result=$result->toArray();
}
return $result;
}

新增或修改数据

   /**
* 新增或修改数据
* @param array $params 更新内容
* @param array $args 更新条件 存在值为更新
*/
public function saveAction($params = [],$args = []){
if(empty($args)){
$save = $this
->allowField(true)
->save($params);
}
else{
$save = $this
->allowField(true)
->update($params,$args);
} return $save;
}

删除数据

   /**
  *删除
* @param array $params //查询条件 例:['id'=>['in','1,2']] ['status'=>1]
*/
public function delAction($params = []){
$del = $this
->where($params)
->delete();
return $del;
}

插入多条数据

   /**
* 新增
* @param array $params 更新内容
*/
public function saveAllAction($params = []){
$save = $this
->allowField(true)
->saveAll($params); return $save;
}

PHP ThinkPHP 非常好用的增删改查方法的更多相关文章

  1. Spring Data CrudRepository增删改查方法(八)

    CrudRepository   的主要方法 long count(); boolean exists(Integer arg0); <S extends StudentPO> S sav ...

  2. Django REST framework 五种增删改查方法

    Django-DRF-视图的演变   版本一(基于类视图APIView类) views.py: APIView是继承的Django View视图的. 1 from .serializers impor ...

  3. 通用mapper的增删改查方法 留存 备忘

    Mybatis通用Mapper介绍与使用   前言 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQ ...

  4. ThinkPHP实现对数据库的增删改查

    好久都没有更新博客了,之前老师布置的任务总算是现在可以说告一段落了,今天趁老师还没提出其他要求来更新一篇博客. 今天我想记录的是我之前做项目,自己所理解的ThinkPHP对数据库的增删改查. 首先要说 ...

  5. 关于单链表的增删改查方法的递归实现(JAVA语言实现)

    因为在学习数据结构,准备把java的集合框架底层源码,好好的过一遍,所以先按照自己的想法把单链表的类给写出来了; 写该类的目的: 1.练习递归 2.为深入理解java集合框架底层源码打好基础 学习的视 ...

  6. classLIST元素增删改查方法

    window.onload=function () { var oDiv=document.getElementsByTagName('div')[0]; var oInP=document.getE ...

  7. js 增删改查方法

    push() 向数组的末尾添加一个或多个元素 pop() 删除数组内部并返回数组的最后一个元素 shift() 把数组内部的第一个元素从其中删除,并返回第一个元素的值 unshift() 向数组外部的 ...

  8. PHP历程(封装的增删改查方法)

    db.class.php   主要方法 <?php /** * 数据库配置信息 */ define('DB_HOST','127.0.0.1'); //服务器 define('DB_USER', ...

  9. Hibernate常用增删改查方法

    /** * @param obj * @return * 添加数据 */ public Serializable saveObject(Object obj){ return this.getHibe ...

随机推荐

  1. 《Java练习题》进阶练习题(三)

    编程合集: https://www.cnblogs.com/jssj/p/12002760.html 前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. [程序68 ...

  2. 《Java基础知识》Java 运算符

    计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运 ...

  3. 《MySQL数据库》常用语法(二)

    表关联关系: -- 内联接 SELECT * FROM m INNER JOIN n ON m.id = n.id; -- 左外联接 SELECT * FROM m LEFT JOIN n ON m. ...

  4. Vue.js 一问一答

    Vue.js 一问一答 记录一下在学习 Vue 过程中给自己问的一些问题,持续更新中... Vue.js 的核心是什么? 官网:Vue.js 的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 ...

  5. [Android逆向]APK反编译与回编译

    一.先查壳,再反编译看验证首先打开.apk文件==>反编译apk(dex/配置文件/资源文件(apk反编译失败)>修改关键文件实现自己的目的>重新打包签名(无法重新打包)==> ...

  6. Java之缓冲流(字节/字符缓冲流)

    概述 缓冲流,也叫高效流,是对4个基本的 FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流: BufferedInputStream , BufferedOutputStrea ...

  7. REST架构指导方案

    目录 REST架构指导方案 何为REST 在WEB系统中应用REST风格 应用约束 对资源应用正确的动词语义 名词性的URI地址 RESTFUL的URL路径实践 单一资源的路径制定 复杂查询的路径制定 ...

  8. macbook无法下载软件问题解决

    今天新买了一台MacBook Pro,但是发现无法下载软件,在App Store中一直转圈圈. 方法:修改网络DNS为114.114.114.114和8.8.8.8,即可解决.

  9. 解密国内BAT等大厂前端技术体系-腾讯篇(长文建议收藏)

    1 引言 为了了解当前前端的发展趋势,让我们从国内各大互联网大厂开始,了解他们的最新动态和未来规划.这是解密大厂前端技术体系的第三篇,前两篇已经讲述了阿里和百度在前端技术这几年的技术发展.这一篇从腾讯 ...

  10. C#DataTable转List<T>互转

    using System; using System.Collections.Generic; using System.Data; using System.Reflection; namespac ...