ci框架mysql多条件_ci框架自定义数据库查询名称(方法)

适合刚接触PHP和ci框架的人,本人也是小白

原因:官方给的数据库查询方法可能不利于记忆使用,官方给的一些方法只能进行基础查询,每次复合查询都需要拼接条件,自己定义定义方法直接调用方法即可

操作步骤:

1.ci框架官网下载好解压后的文件夹会有application这个目录,在application目录下找到models子目录,在models子目录里建一个PHP文件(名字随便起,如Base_model.php)

这个文件里就是给你写自己定义的数据库查询方法,但开头要这样写(如下),自己定义的方法写在__construct方法下面

class Base_model extends CI_Model

{

public $table = "";

public $error = "";//操作数据库产生的错误信息,自行定义的

public $primary_key = "";//主键

public function __construct()

{

if (!isset($this->db)) {

$this->load->database();

}

}

}

2.然后你数据库里有什么表,你就在models目录里建相应的模型(例如有user表,可以建一个User.php模型),以此类推,然后在模型里这样写,不用多写了,(你也可以把方法写这里面,我忽略)

require_once "Base_model.php"; //这里模型和Base_model.php都是在models目录下的

class User extends Base_model //这里是大写的User继承Base_model而不是继承CI_model

{

public function __construct()

{

parent::__construct();

$this->table = "user"; //这是表名,user表

$this->primary_key = "id"; //这是主键自增id,可不写

}

}

3.我在Base_model.php里有查询所有和修改的方法(这里就举两个简单的小例子,复合方法我后续会更新)

class Base_model extends CI_Model

{

public $table = "";

public $error = "";//操作数据库产生的错误信息

public $primary_key = "";//主键

public function __construct()

{

if (!isset($this->db)) {

$this->load->database();

}

}

/**

* @param bool $onlyOne

* 查询这个表的所有数据

* 无需传递参数

*/

public function lists($onlyOne=true,$select="*")

{

$this->db->from($this->table);        //这里是表名

$res=$this->db->get();

$row = $res->result_array();

return $row;

}

/**

* 修改数据

* 传俩个数组过来$data=[‘name‘=>$name];

* $data为修改的字段,$where为where条件,两个都是数组

*/

public function update($data,$where)

{

return $this->db->update($this->table,$data,$where);

}

}

4.上面查询和修改的方法在控制器(控制器都可以用)里的用法

//查询所有数据

//$this->表名->方法名(要传递的参数);

$this->user->lists();

//

//修改数据

先要有修改的数据(数组)$data,where条件(数组)$where

$data=[‘id‘=>1,‘name‘=>‘lisi‘];

$where=[‘id‘=>$id];

//$this->表名->方法名(要传递的参数);

$this->user->update($data,$where);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值