美文网首页
CI继承类MY_Model

CI继承类MY_Model

作者: _WhatsUp_ | 来源:发表于2017-06-06 10:33 被阅读0次

其他子model类可继承此类,例如:class Admin_mdl extends MY_Model
此继承类需放在application/core下

子类继承,即可使用父类中方法

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Admin_mdl extends MY_Model {

    const TBL_DB = 'admin_info';

    public function __construct()
    {
        parent::__construct(self::TBL_DB);
    }

}

MY_Model.php文件内容如下:

/**
* MY_Model Class ,create by luguoli
*/
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Model extends CI_Model {

    var $TableName = '';

    public function __construct($TableName = '')
    {
        parent::__construct();
        $this->TableName = $TableName;
        log_message('debug', $this->TableName." Model Class Initialized");
    }
    
    public function get_data_by_id($id, $type='id')
    {
        $data = array();

        $this->db->select('*')->from($this->TableName)->where($type, $id)->limit(1);
        $query = $this->db->get();
        if($query->num_rows() == 1)
        {
            $data = $query->row_array();
        }
        $query->free_result();
        
        return $data;
    }


    public function get_datas($limit=NULL, $offset=NULL, $sort=NULL, $select=NULL, $where=NULL)
    {
        //limit
        if($limit && is_numeric($limit))
        {
            $this->db->limit(intval($limit));
        }
        
        //offset
        if($offset && is_numeric($offset))
        {
            $this->db->offset(intval($offset));
        }

        //sort,可多个字段排序,写法:id asc,openid desc
        if($sort && !empty($sort))
        {
            $this->db->order_by($sort);
        }
        else
        {
            $this->db->order_by("id","desc");
        }

        //where,条件,写法:$where = array('name =' => $name, 'id <' => $id);
        if($where && !empty($where))
        {
            $this->db->where($where);
        }

        //select,查询字段,写法:$select = "id,nickname,date";
        if($select && !empty($select))
        {
            $this->db->select($select);
        }

        return $this->db->get($this->TableName);
    }


    public function get_datas_count($where=NULL)
    {
        $data = array();

        if($where && !empty($where))
        {
            $this->db->where($where);
        }

        $this->db->select('count(*) as count')->from($this->TableName);
        $query = $this->db->get();
        if($query->num_rows() == 1)
        {
            $data = $query->row_array();
        }
        $query->free_result();

        return $data;
    }

    
    public function remove_data($id, $type='id')
    {
        $this->db->delete($this->TableName, array($type => $id));
        
        return ($this->db->affected_rows() > 0) ? TRUE : FALSE;
    }
    
    public function add_data($data)
    {       
        $this->db->insert($this->TableName, $data);
        
        return ($this->db->affected_rows() > 0) ? $this->db->insert_id() : FALSE;
    }

    public function update_data($id, $data, $type='id')
    {

        $this->db->where($type, $id);
        $this->db->update($this->TableName, $data);
        
        return ($this->db->affected_rows() > 0) ? TRUE : FALSE;
    }

}

/* End of file MY_Model.php */

相关文章

  • CI继承类MY_Model

    其他子model类可继承此类,例如:class Admin_mdl extends MY_Model此继承类需放在...

  • CI框架自定义类使用input报错

    自定义一个不继承自任何CI类的PHP类,使用 $this -> input -> get_request_head...

  • 一阶段day16-01面向对象

    Python中类支持继承,并且支持多继承 一、继承 1、什么是继承 父类(超类):被继承的类子类:继承父类的类继承...

  • 兄弟连 PHP-CI 学习笔记

    控制器1.文件名不需要加后缀,全部小写2.类名首字母大写,继承CI_Controller基类3.以下划线开头或者非...

  • 2018-10-19面向对象和pygame

    类的继承 python中的类支持继承,并且支持多继承 1.什么是继承 父类(超类):被继承的类子类:继承的类继承就...

  • python零基础13:类的继承和定制

    类的定制和继承是什么? 类的继承 类的定制 类的继承要怎么写? 继承基础语法 继承之多层继承 继承的多重继承 类的...

  • Day16总结:面向对象和pygame

    类的继承 python中类支持继承,并且支持多继承 1.什么是继承 父类(超类):被继承的类子类:去继承父类的类继...

  • python 面向对象和pygame

    一、类的继承 python中类支持继承,并且支持多继承 1.什么是继承父类(超类):被继承的类子类:去继承父类的类...

  • 10.19 day16面向对象和pygame

    1.类的继承python中类 支持继承,并且支持多继承()1.什么是继承父类(超类):被继承的类 子类:继承的类,...

  • Day16-面向对象和pygame

    一、类的继承 python中类支持继承,并且支持多继承 1.什么是继承 父类(超类):被继承的类 子类:去继承父类...

网友评论

      本文标题:CI继承类MY_Model

      本文链接:https://www.haomeiwen.com/subject/tidgfxtx.html