获取列表数据(多条)

   /**
* 获取页面列表
* @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. android之 xml文件一般用到的属性

    android:layout_above 将该控件的底部至于给定ID的控件之上android:layout_below 将该控件的顶部至于给定ID的控件之下android:layout_toLeftO ...

  2. .get的取值特点:.get只起到取值的作用 不能对原值修改

    #银行支付接口 def pay_interface(username,cost): user_dic=db_handler.select(username) if user_dic.get('bala ...

  3. vue+element 中 el-input框 限制只能输入数字及一位小数

    仅个人经验,希望能帮到有需要的人. 第一次写 就话不多说了直接上代码. <el-input @keyup.native="proving(index)" v-model=&q ...

  4. Python3-logging日志模块

    日志模块 logging模块默认收集的日志是warning以上等级的 日志一共分为5个等级,从低到高分别是: 级别 说明 DEBUG 输出详细的运行情况,主要用于调试 INFO 确定一切按预期运行,一 ...

  5. bayaim——docker.txt

    #菜鸟教程地址https://www.runoob.com/docker/docker-tutorial.html#docker官方地址仓库https://hub.docker.com/ ------ ...

  6. Linux 使用grep过滤多个条件及grep常用过滤命令

    这篇文章主要介绍了Linux 使用grep筛选多个条件及grep常用过滤命令,需要的朋友可以参考下 cat log.txt | grep 条件: cat log.txt | grep 条件一 | gr ...

  7. canves做的时钟目前已经开源

    canves做的时钟目前已经开源 git地址: https://github.com/jidanji/canves-clock/tree/1.0.1 项目截图 时流过的时间变得有颜色,其他的没有颜色.

  8. RDP矢量数据压缩算法

    在绘制对象边缘时涉及到了这个算法,记录一下. 该算法递归进行,首先设定一个阈值,在点集的第一个点和最后一个点间拉一条线段,找出剩下的点集中离线段最远的一个点,如果该点到线段的距离小于阈值则舍弃中间的所 ...

  9. jQuery 源码解析(二十五) DOM操作模块 html和text方法的区别

    html和text都可以获取和修改DOM节点里的内容,方法如下: html(value)     ;获取匹配元素集合中的一个元素的innerHTML内容,或者设置每个元素的innerHTML内容,   ...

  10. Python第一个程序Hello Word

    [源代码] print('Hello Python World!') [过程] 打开命令提示窗口(cmd),在源程序所在路径下执行,python 文件名.py. [截图]