首页 > 数据库 >037.CI4框架CodeIgniter,使用Model模型绑定数据库表

037.CI4框架CodeIgniter,使用Model模型绑定数据库表

时间:2024-08-30 20:04:56浏览次数:3  
标签:ci SET CodeIgniter DEFAULT utf8 COLLATE CI4 Model NULL

01、我们创建一个数据库,如下:

CREATE TABLE `user`  (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `userpassword` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `gender` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `details` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `admin` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `group` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `age` int(3) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

 02、TestUser.php代码如下:

<?php

namespace App\Controllers\Test;
use App\Controllers\BaseController;
use CodeIgniter\API\ResponseTrait;

//访问地址:http://localhost/phmci4/public/index.php/test/testuser
class TestUser extends BaseController
{
    use ResponseTrait;

    protected $userModel;

    function __construct()
    {
        $this->userModel = model('App\Models\Model_user');
    }

    //http://localhost/phmci4/public/index.php/test/testuser/index
    function index()
    {
        echo "哈哈!";
    }

    //http://localhost/phmci4/public/index.php/test/testuser/testgetuser
    function testgetuser()
    {
        $data = $this->userModel->getUser();
        return $this->respondCreated($data);
    }

    //http://localhost/phmci4/public/index.php/test/testuser/testinsert
    function testinsert()
    {
        $user = array(
            'username' => 'tianpan',
            'userpassword' => 'guest',
            //如果没有在$allowedFields中,那么不会被增加和修改
            'details' => 'good'
        );
        $data = $this->userModel->insertUser($user);
        return $this->respondCreated($data);
    }
}

03、Model_user.php代码如下:

<?php

namespace App\Models;

use CodeIgniter\Model;

class Model_user extends Model
{
    protected $table = 'user';
    protected $primaryKey = 'id';
    protected $allowedFields = ['username', 'userpassword'];

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

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

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

04、代码结构如下:

 05、访问http://localhost/phmci4/public/index.php/test/testuser/testgetuser,效果如下:

 

标签:ci,SET,CodeIgniter,DEFAULT,utf8,COLLATE,CI4,Model,NULL
From: https://www.cnblogs.com/tianpan2019/p/18389412

相关文章

  • WPF-Prism中View和ViewModel的关联
    1、在MainWindow.xaml中进行Prism命名空间的引入以及ViewModelLocator.AutoWireViewModel属性的设置需要注意,AutoWireViewModel默认就是为True,表示自动关联ViewModel,因此这个命名空间引入以及设置属性的步骤是可以省略的2、通过ViewModelLocator进行View与ViewModel层的自动关......
  • Vue 中 v-model 的修饰符
    lazy修饰符:将v-model 改为失去焦点后更新数据。number修饰符:将v-model数据转为数字类型。trim修饰符:去除v-model数据中的首尾空格。语法格式//lazy修饰符<inputv-model.lazy="数据">//number修饰符<inputv-model.number="数据">//trim修饰符<inputv-mod......
  • [Paper Reading] Transfusion: Predict the Next Token and Diffuse Images with One
    Transfusion:PredicttheNextTokenandDiffuseImageswithOneMulti-ModalModellink时间:24.08机构:Waymo&UniversityofSouthernCaliforniaTL;DR提出一种使用混合模态token来训练transformer,名为transfusion,是一种生成式AI模型。主要工作使用了2T的tokens结合语言......
  • FPGA第 7 篇,FPGA开发环境搭建,Altrea开发环境搭建,Quartus几个版本之间的区别,以Quartus/
    前言我们知道FPGA的应用领域非常广泛,包括但不限于以下,请看,而且未来应用前景也可以,几乎涵盖了所有涉及数字信号处理和技术实现的领域。上期我们介绍了FPGA的基础知识数字电路,请看,FPGA与数字电路https://blog.csdn.net/weixin_65793170/article/details/141363656?spm=10......
  • 【ACMMM2024】Multi-Scale and Detail-Enhanced Segment Anything Model for Salient
    论文:https://arxiv.org/pdf/2408.04326代码:https://github.com/BellyBeauty/MDSAM论文的研究动机就是使用SAM来解决显著性检测(SOD)问题,主要有两个改进:提出了LightweightMulti-ScaleAdapter,LMSA来微调SAM提出了Multi-LevelFusionModule,MLFM和DetailEnhancementM......
  • DocKylin: A Large Multimodal Model for Visual Document Understanding with Effici
    DocKylin:ALargeMultimodalModelforVisualDocumentUnderstandingwithEfficientVisualSlimmingarxiv:http://arxiv.org/abs/2406.19101视觉处理器+LLM:视觉处理器:SwinTransformer创新点:通过:1、去除图片冗余像素;2、去除冗余token。来减小模型中的视觉处理器的参数量......
  • BAdam A Memory Efficient Full Parameter Optimization Method for Large Language M
    目录概BAdam代码LuoQ.,YuH.andLiX.BAdam:Amemoryefficientfullparameteroptimizationmethodforlargelanguagemodels.arXivpreprint,2024.概本文介绍了一种Blockcorrdinatedescent(BCD)的训练方式.BAdam当模型本身很大的时候,训练它会成为一......
  • A review of ssm and their applications in connectedand automated vehicles safety
    ABSTRACTSurrogateSafetyMeasures(SSM)areimportantforsafetyperformanceevaluation,since crashesarerareeventsandhistoricalcrashdatadoesnotcapturenearcrashesthatarealsocriticalforimprovingsafety.Thispaper focusesonSSMandthei......
  • SwapPrompt(论文解读): Test-Time Prompt Adaptation for Vision-Language Models
    2023(NeuralIPS)摘要测试自适应(TTA)是无监督域自适应(UDA)中一种特殊且实用的设置,它允许源域中的预训练模型去适应另一个目标域中的未标记测试数据。为了避免计算密集型的骨干网络微调过程,因此利用预训练视觉语言模型(例CLIP、CoOp)zero-shot的泛化潜力,仅对未见测试域的运行时......
  • MIXLORA: Enhancing Large Language Models Fine-Tuning with LoRA-based Mixture of
    本文是LLM系列文章,针对《MIXLORA:EnhancingLargeLanguageModelsFine-TuningwithLoRA-basedMixtureofExperts》的翻译。MIXLORA:通过基于LoRA的专家混合来增强大型语言模型的微调摘要1引言2相关工作3MIXLORA4实验5结论摘要微调大型语言模型(LLM)......