最新tp6无法修改数据库新增的字段值

博客指出因开启数据库字段缓存,导致新功能无法修改数据库新增字段值。可在config/database.php中关闭字段缓存配置,关闭后需清除runtime下的缓存文件,博主此前为提速开启缓存,经百度才找到问题原因。

其实这个问题很简单,是由于开启了数据库字段缓存的原因,具体可以再 config/database.php 找到字段缓存配置进行关闭即可,如下:

    // 开启字段缓存
    'fields_cache'      => false,

关闭缓存之后需要清除runtime下的缓存文件。

由于自己之前为了加快自己网站的访问速度,特地开启了字段缓存,导致近期开发的新功能无法修改数据库新增字段的值,还是百度了好久才找到原因。

### ThinkPHP6 MongoDB 管理使用教程 #### 安装 MongoDB 扩展 为了使 ThinkPHP6 支持 MongoDB 数据库,在项目环境中需先安装 MongoDB 的 PHP 驱动程序。通常通过 Composer 来完成此过程,执行命令 `composer require aliyuncs/mongodb` 可以引入必要的依赖包[^1]。 #### 创建连接配置文件 在项目的根目录下找到或创建名为 `.env` 文件,并加入如下内容以便定义 MongoDB 连接参数: ```properties MONGO_HOST=127.0.0.1 MONGO_PORT=27017 MONGO_USERNAME=root MONGO_PASSWORD=password MONGO_DATABASE=test_db ``` 接着修改位于 `config/database.php` 中的设置项,确保其能够读取上述环境变量并建立正确的数据库链接[^5]。 #### 编写模型类 对于每一个要映射到 MongoDB 表(集合)上的实体对象来说,都需要编写对应的 Model 类。下面是一个简单的 User 模型例子: ```php <?php namespace app\model; use think\Model; use Jenssegers\Mongodb\Eloquent\Model as EloquentModel; class User extends EloquentModel { protected $connection = 'mongodb'; protected $collection = 'users'; public function setPasswordAttribute($value){ $this->attributes['password'] = password_hash($value, PASSWORD_BCRYPT); } } ``` 这里特别注意两点:一是指定了 `$connection` 属性为 `'mongodb'`;二是设置了具体的集合名称给 `$collection` 字段[^3]。 #### 实现增删改查功能 有了前面的基础工作之后就可以很方便地利用 ThinkPHP 提供的各种内置方法来进行 CRUD (Create Read Update Delete) 操作了。比如新增一条记录可以这样写: ```php $user = new \app\model\User(); $user->name = "John Doe"; $user->email = "john@example.com"; $user->save(); // 插入新纪录 ``` 而查询所有符合条件的结果则可以通过链式调用来达成目的: ```php $users = \app\model\User::where('age', '>', 18)->get(); foreach ($users as $user) { echo $user->name . "\n"; } ``` 更新现有条目也很容易做到: ```php $user = \app\model\User::find('some_id'); if (!empty($user)) { $user->update(['status'=>'active']); } ``` 最后删除指定 ID 对应的对象只需一行代码即可搞定: ```php \app\model\User::destroy('specific_id'); ``` 以上就是有关于 ThinkPHP6 结合 MongoDB 使用的一些基本知识点以及实践案例[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值