php - codeigniter 4,更新模型
问题描述
我将我的 codeigniter 应用程序与 mysql 连接起来。我创建了一个这样的表模型:
<?php namespace App\Models;
use CodeIgniter\Model;
class UserModel extends Model{
protected $table = 'I_user';
protected $allowedFields = ['email', 'password','active', 'hash'];
}
现在在我的控制器中,我想通过更改电子邮件来更新用户。怎么做?我的控制器:
<?php namespace App\Controllers;
use App\Models\UserModel;
class Confirm extends BaseController
{
public function index($email, $hash)
{
if(!isset($email) || !isset($hash)){
return redirect()->to('/');
}
$model = new UserModel();
$user = $model->where('email', $email)->first();
if($user['hash'] == $hash){
// update $user email..
??
}
}
}
解决方案
你可以这样做:
$model->where('email', $user['email'])->set(['email' => 'YourNewEmailAddress'])->update();
或者
$model->update(['email'=> $user['email']], ['email' => 'YourNewEmailAddress']);
推荐阅读
- spring - Spring从模块加载和使用bean
- javascript - Node使用FFMPEG处理录屏的帧数
- hadoop - 使用 sqoop import all 的 hive-import 和 hive-overwrite
- python - 使用不同区域设置格式化百分比(逗号为十进制)
- android - Android 以编程方式结束(等待呼叫)
- blazor - 如何存储与 Blazor 服务器电路相关的数据?
- python - 如何在 Python mapreduce reducer 部分中使用多个键聚合输出
- javascript - 如何在文本Javascript中获取char的索引作为坐标
- java - 如何拆分 RxJava Observable 的发射
- python-3.x - 如何在python中并排组合两行相同的数据集?