首页 > 数据库 >039.CI4框架CodeIgniter,封装Model模型绑定数据库的封装

039.CI4框架CodeIgniter,封装Model模型绑定数据库的封装

时间:2024-08-31 13:37:13浏览次数:11  
标签:function return CodeIgniter public 039 date 封装 data id

01、ModelBase.php代码如下:

<?php

namespace App\Models;

use CodeIgniter\Database\ConnectionInterface;
use CodeIgniter\Model;
use CodeIgniter\Validation\ValidationInterface;

class ModelBase extends Model
{
    var $Db;

    function __construct(ConnectionInterface $db = null,
                         ValidationInterface $validation = null)
    {
        parent::__construct($db, $validation);
        //创建数据库连接
        $this->Db = \Config\Database::connect();
    }

    //--------------------------------------------------------------------
    public function find($id = false)
    {
        if ($id === false) {
            return $this->findAll();
        }
        return $this->where(['id' => $id])->first();
    }

    public function date_insert($data)
    {
        return $this->insert($data);
    }

    public function date_update($data, $id)
    {
        return $this->update($id, $data);
    }

    public function date_delete($id)
    {
        return $this->delete($id);
    }

}

02、Model_usertoken.php代码如下:

<?php

namespace App\Models;

class Model_usertoken extends ModelBase
{
    protected $table = 'user_token';
    protected $primaryKey = 'id';
    protected $allowedFields = ['username', 'token', 'exp_time'];

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

    public function date_query($date)
    {
        $id = $date['id'];
        //sql语句
        $sql = 'SELECT * FROM `user` WHERE `ID` IN ? ';
        //带参数条件查询
        $rst = $this->db->query($sql,
            [$id]
        );
        echo $this->db->getLastQuery();
        return $rst->getResultArray();
    }

}

03、调用如下:

<?php

namespace App\Controllers\Auth;

use App\Controllers\BaseController;

class Login extends baseController
{
    protected $userModelToken;


    function __construct()
    {
        $this->Jwt = new Tx_jwt;
        $this->userModelToken = model('App\Models\Model_usertoken');
    }

    //http://localhost/phmci4/public/index.php/auth/login/test001
    public function test001()
    {
        $param = array(
            'id' => [1],
        );
        $data = $this->userModelToken->date_query($param);
        ShowMessage($data);
    }

}

04、结构如下:

 05、浏览器效果如下:

 

标签:function,return,CodeIgniter,public,039,date,封装,data,id
From: https://www.cnblogs.com/tianpan2019/p/18390184

相关文章

  • vue3+ts封装一个uniapp的自动滚动列表,实现看板效果
    电视机上要以列表展示数据,并且数据会实时更新,电视机不能点击,所以考虑自动播放的一个效果。展示方案有两种:1、列表上下自动滚动实现轮播效果。(此时具体滚动的高度由用户自己决定,每次滚动几条数据)2、列表以“页”的形式做成轮播图的翻页效果。由于项目的电视机是有任务提示作......
  • django.core.exceptions.ImproperlyConfigured: 'django.contrib.gis.db.backends.mys
     没解决此问题(venv)[root@VM-8-12-centosMYPROJECT-django20240830]#python3manage.py runserver0.0.0.0:8080Exceptioninthreaddjango-main-thread:Traceback(mostrecentcalllast): File"/root/MYPROJECT/backend/venv/lib/python3.8/site-packages/django/d......
  • 第二节:封装pinia和持久化
    封装pinia构建用户仓库和持久化通过持久化,可以实现应用程序重新启动时恢复这些状态官方文档:https://prazdevs.github.io/pinia-plugin-persistedstate/zh/安装插件pinia-plugin-persistedstatepnpmaddpinia-plugin-persistedstate-D使用main.js(之后统一管理,......
  • sqlsugar 封装 单例模式 多数据库 泛型
    PlayGround\.config\dotnet-tools.json{"version":1,"isRoot":true,"tools":{"csharpier":{"version":"0.29.1","commands":["dotnet-csharpier......
  • 037.CI4框架CodeIgniter,使用Model模型绑定数据库表
    01、我们创建一个数据库,如下:CREATETABLE`user`(`id`int(20)NOTNULLAUTO_INCREMENT,`username`varchar(255)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,`userpassword`varchar(255)CHARACTERSETutf8COLLATEutf8_general_ciNULLDE......
  • sqlsugar 封装 单例模式 多数据库
    #PlayGround\.config\dotnet-tools.json{"version":1,"isRoot":true,"tools":{"csharpier":{"version":"0.29.1","commands":["dotnet-csharpi......
  • IDEA报错:Error running 'XXXApplication' Error running XXXXApplication. Command li
     IDEA启动SpringBoot项目报错Errorrunning'XXXApplication'ErrorrunningXXXXApplication.Commandlineistoolong.ShortenthecommandlineviaJARmanifestorviaaclasspathfileandrerun   点击在高版本IDEA下只需要点击就会自动选择  低版本......
  • sqlsugar 单例模式 封装
    usingSystem.Linq.Expressions;usingMicrosoft.Extensions.Configuration;usingSqlSugar;namespaceSqlSugarFrameworkCore;publicclassDbSettings{publicconststringAppOne="AppOne";publicconststringAppDevOne="AppDevOne";pub......
  • SpringBoot把本地的对象封装成为Nacos的配置对象
    你需要有个NacosNacos建立你的配置文件--建议yml文件编写你的yml配置platform:transaction:properties:notifyHost:"http://10.130.1.18:${server.port.cztech-service-gateway}"smsTemplate:"TEM_0029"#订单默认过期时间--分钟defau......
  • python读取配置文件&&简单封装 公共配置文件 config
    之前有做过把爬虫数据写到数据库中的练习,这次想把数据库信息抽离到一个ini配置文件中,这样做的好处在于可以在配置文件中添加多个数据库,方便切换(另外配置文件也可以添加诸如邮箱、url等信息)1.configparser模块python使用自带的configparser模块用来读取配置文件,配置文......