代码点火器4,更新模型



我用mysql连接了我的codeigniter应用程序。我创建了一个这样的表格模型:

<?php namespace AppModels;
use CodeIgniterModel;
class UserModel extends Model{
protected $table = 'I_user';
protected $allowedFields = ['email', 'password','active', 'hash'];
}

现在在我的控制器中,我想通过更改电子邮件来更新用户。如何做到这一点?我的控制器:

<?php namespace AppControllers;
use AppModelsUserModel;
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']);

您可以直接使用更新来更新模型数据

$data = [
'email' => 'Yourupdatedemailhere'
];
$model->update($user['email'], $data);

如果主键不是"id";在您的数据表中,那么您需要在您的模型中提及这一点。

protected $primaryKey = 'email';

然后使用:

$model->update(['email'=> $user['email']], ['email' => 'newemail@example.com']);

最新更新