CI的model层的操作

1.需求

整理ci框架下model层的相关操作

2.代码

model的代码,放在application/model目录下,文件名为Coupon.php

<?php

class Coupon extends CI_Model
{
    function __construct()
    {
        parent::__construct();
        $this->load->database();
    }
    /*
     * @param array 一条记录数组
     * @return bool 成功返回true
     * */

    public function insert($array)
    {

        $result = $this->db->insert(‘coupon‘,$array);
        return $result;
    }
    /*
     *  更新某个字段,$increase=true时,表示字段=字段+
     *  @return int 成功返回true,失败返回false
     *
     * */
    public function update_field($field,$value,$wheresql,$increase=false)
    {
        if(count($wheresql)==0)
            return 0;

        $sql = "update ci_coupon set ".$field."=";

        if($increase===true){
            $sql.=$field.‘+‘;
        }

        $sql.=$this->db->escape($value);
        $sql .=" where ";
        foreach ($wheresql as $key => $val){
            $sql.=$key.$this->db->escape($val);
        }
        $query=$this->db->query($sql);
        return ($this->db->affected_rows()?true:false);
    }

    /*
     * 根据券id删除单条记录
     * @param string 券id
     * @return int 成功返回true,失败返回false
     * */
    public function delete($couponId)
    {
        $this->db->where(‘Quan_id‘, $couponId);
        $this->db->delete(‘ci_coupon‘);
        return ($this->db->affected_rows()?true:false);
    }

    /*
     * 判断记录是否存在
     * @return bool 存在返回true,不存在返回false,
     */
    public function exists($field,$value)
    {
        $this->db->where($field, $value);
        $this->db->from(‘coupon‘);
        return $this->db->count_all_results()==0?false:true;
    }

    /*
     * 根据一个条件获得数据
     * @return array 有找到返回结果数组,否则返回空数组
     */
    public function get_where($onewhere)
    {
        if(count($onewhere)==0)
        {
            return array();
        }
        $result = $this->get_list($onewhere);
        return $result;
    }

    /*
     * 获得单条记录单字段
     * @return string
     */
    public function get_field($wheresql,$field=‘‘)
    {
        $result=$this->get_list($wheresql,$field,1,‘‘);
        if(count($result)==0)
            return ‘‘;

        return $result[0]->$field;
    }

    /*
     * 根据多个条件获得数据
     */
    public function get_list($wheresql,$field=‘*‘,$limit=-1,$orderby=‘‘)
    {
        if (count($wheresql) == 0) {
            return array();
        }

        $sql = "SELECT " . $field . " FROM ci_coupon WHERE ";

        foreach ($wheresql as $key => $val ) {
            if (isset($key) && (0 < strlen($key))) {
                $sql .= $key;
            }

            if (isset($val) && (0 < strlen($val))) {
                $sql .= $this->db->escape($val);
            }
        }

        if ($orderby != "") {
            $sql .= " order by " . $orderby;
        }

        if ($limit != -1) {
            $sql .= " limit " . $limit;
        }

        $query = $this->db->query($sql);
        return $query->result();
    }

    /*
     * 根据多个条件获得分页数据
     */
    public function get_list_page($search,$field=‘*‘,$pagesize=200,$pageindex=1,$orderby=‘‘,&$count=0)
    {
        if ($pageindex <= 0) {
            $pageindex = 1;
        }

        if ($pagesize <= 0) {
            $pagesize = 200;
        }

        if (count($search) == 0) {
            return array();
        }

        $sql = "SELECT " . $field . " FROM ci_coupon WHERE ";
        $wheresql = "";

        foreach ($search as $key => $val ) {
            if (isset($key) && (0 < strlen($key))) {
                $wheresql .= $key;
            }

            if (isset($val) && (0 < strlen($val))) {
                $wheresql .= $this->db->escape($val);
            }

        }

        $sql .= $wheresql;

        if ($orderby != "") {
            $sql .= " order by " . $orderby;
        }

        $sql .= " limit " . (($pageindex - 1) * $pagesize) . "," . $pagesize;
        $query = $this->db->query($sql);
        $result = $query->result();
        $cquery = $this->db->query("SELECT count(0) as counts FROM ci_coupon WHERE " . $wheresql);
        $cresult = $cquery->result();
        $count = $cresult[0]->counts;
        return $result;
    }

}

3.控制器调用实例

public function __construct()
    {
        parent::__construct();
        $this->load->model("coupon");
    }
$result = $this->coupon->get_list_page(array(‘Quan_endtime<=‘=>time()),‘Quan_id‘);
时间: 2024-08-24 16:23:42

CI的model层的操作的相关文章

yii model层操作总结

yii model层操作属性和方法总结. tableName – 设置Model所对应的表名,例如: public function tableName(){return 'gshop_order_ext';} rules – 设置Model里各字段的验证规则 relations – 设置关联规则 attributeLabels – 设置各字段的别名 safeAttributes – 设置可以修改属性的字段 beforeValidate和afterValidate – 字段验证前和验证后执行的函

对于社保截止日接口的学习记录---在yii1.1中公共service层对model层的调用

需要明确的一点,sql语句或者yii自带的find和findall方法这些操作,都需要放在model层,在对应的model里面创建一个方法.写上这些sql语句,有三个例子: 1.这个方法是通过截止日期来获取城市的信息. /** *根据截止日期来获取城市信息 *@paramarray$deadline_day社保截止日期 *@returnarray *@authorxcz */ publicfunctiongetCityDataByDeadline($deadline_day){ $sql="SE

PHP MVC 中的MODEL层

Model层,就是MVC模式中的数据处理层,用来进行数据和商业逻辑的装封 三.实现你的Mode层 Model层,就是MVC模式中的数据处理层,用来进行数据和商业逻辑的装封,进行他的设计的时候设计到三个个概念:------Model类.是实体类.用来保存数据库表格的中一条记录的所有字段的数据.并且可以验证这条记录数据的完整性.------ModelManager类. 是实体类的管理类.通常每一个实体类(Model)都要有一个对应的管理类(ModelManager).管理类可以用来管理实体类里面的数

深入理解--SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用

SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保持一致. service层.存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方

Linux用户层直接操作GPIO

Linux用户层直接操作GPIO 在一个老手的指导下,应用层可以直接操作GPIO,具体指设置GPIO的输入输出以及输出电平高或者低.这个大大地提高了灵活性,官方的文档有GPIO Sysfs Interface for Userspace,GPIO Sysfs. 这里我记录一下使用过例子: # RK30_PIN0_PD4 # A0-7 -> 0-7 / B0-7 -> 8-15 / C0-7 -> 16-23 / D0-7 -> 24-31 echo 28 > /sys/cla

Django model与数据库操作对应关系(转)

? Django对数据库的操作分用到三个类:Manager.QuerySet.Model. Manager的主要功能定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manager为父类,定义自己的manager,增加表级方法: QuerySet是Manager的方法返回的,是一个可遍历结构,包含一个或多个元素,每个元素都是一个Model 实例,它里面的方法也是表级方法. Model是一条记录的类,它的功能很强大,里面包含外键实体等,它的方法都是记录级方法(都是实例方

EntityFramework5.0 在三层架构中的使用,分离实体类到Model层。

EntityFramework默认是把数据访问和实体耦合在一起,显然这样不符合分层的要求和思想.我的方法是强制分离实体类到Model层,过程如下图所示. 演示程序下载 1. 2. 3. 4. 5. 6. 7. 8. 9.

简易留言薄系统-ASP.NET MVC(Model层)

我的开发顺序是从Model层开始.在Model层目前一共有4个类.Model层除MvcBbsContext引用了System.componentModel 与 System.ComponentModel.DataAnnotations,在MvcBbsContext类中引用了System.Data.Entity 1.User 代码: using System;using System.Collections.Generic;using System.Linq;using System.Web;us

struts2怎么把form请求过来的参数赋给model层

struts2提交的信息,将值赋给model层,这个在struts2里面有个接口,需要实现一下,实现后就可以就参数直接赋给model实体. 这个接口式ModelDriven. 以下是示例 public class DemoAction extends ActionSupport implements ModelDriven<Demo>{     @Override public Demo getModel() { return d; } } 这里面有个泛型,就是对应的实体.