thinkphp5模型如何使用redis *** 作数据库CURD *** 作

thinkphp5模型如何使用redis *** 作数据库CURD *** 作,第1张

模型中添加如下代码,可实现更新或插入前删除缓存:

protected static function init()

{

TurnGiftSetting::beforeInsert(function ($model) {

$redis = new Redis(config('redis'))

$redis->rm(self::$redisKey)

})

TurnGiftSetting::beforeUpdate(function ($model) {

$redis = new Redis(config('redis'))

$redis->rm(self::$redisKey)

})

TurnGiftSetting::beforeDelete(function ($model) {

$redis = new Redis(config('redis'))

$redis->rm(self::$redisKey)

})

TurnGiftSetting::beforeWrite(function ($model) {

$redis = new Redis(config('redis'))

$redis->rm(self::$redisKey)

})

}

目录结构(主要三个文件)

1.application\index\controller\index.php

2.application\index\model\UserModel.php

3.application\common.php

文件类容

1.application\index\controller\index.php

控制器,和之前没什么变化,命名空间比较好用了,要注意命名空间

<?php

namespace app\index\controller

use think\Controller

use app\index\model\UserModel

class Login extends Base

{

public function index()

{

$User_model = new UserModel() // 实例化用户模型

$userdatas = $User_model->getAllUserDatas()// 获取数据

var_dump($userdatas)

}

}

复制代码

2.application\index\model\UserModel.php

模型,我将数据库链接也放到这里

<?php

namespace app\index\model

use think\Model

\think\Loader::controller('common/member', 'event') // 加载common.php的函数

class UserModel extends Model

{

// 设置当前模型对应的完整数据表名称

protected $table = 'user'

// 设置当前模型的数据库连接

protected $connection = [

// 数据库类型

'type'=>'mysql',

// 数据库连接DSN配置

'dsn' =>'',

// 服务器地址

'hostname'=>'127.0.0.1',

// 数据库名

'database'=>'mydb',

// 数据库用户名

'username'=>'root',

// 数据库密码

'password'=>'123',

// 数据库连接端口

'hostport'=>'3306',

// 数据库连接参数

'params' =>[],

// 数据库编码默认采用utf8

'charset' =>'utf8',

// 数据库表前缀

'prefix' =>'',

]

// 获取所有用户的所有数据

public function getAllUserDatas()

{

$more_datas = $this->select() // 查询所有用户的所有字段资料

if (empty($more_datas)) { // 判断是否出错

return false

}

return tp5ModelTransfer($more_datas) // 返回修改后的数据

}

}

复制代码

3.application\common.php

公共函数文件,放置这个转换功能的,主要代码,其实就一点点

<?php

// 应用公共文件

function tp5ModelTransfer($array)

{

if (empty($array) || !count($array)) {

return false

}

foreach ($array as $value) {

$datarray[] = $value->toArray()

}

return $datarray

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10039573.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存