我正在尝试在购买后更新 UserCredits。因此,如果用户有 10 个积分并想再购买 10 个,那么它只会用购买的积分覆盖旧的信用评分。 购买的积分应添加到当前积分并保存。
//SET USER CREDIT
$set_credit = Model::factory('UserCredits')->where('email', "$email")->find_one();
if (isset($set_credit)){
$set_credit->credits = "+15";
$set_credit->save();
}
最佳答案
所以你的代码有一些问题:
//SET USER CREDIT
$set_credit = Model::factory('UserCredits')->where('email', "$email")->find_one();
if (isset($set_credit)){
$set_credit->credits = "+15";
$set_credit->save();
}
试试这个:
$userCredit = UserCredits::where('email', $email)->first();
if ($userCredit){
$userCredit->credits = $userCredit->credits + 15;
$userCredit->save();
}
此外,请确保演职员表列为整数。 模型应该是单一的。
正如@ceejayoz 指出的那样,最好使用:
$userCredit->increment('credits', 15);
当您想向列中添加一个数字时,我们可以 100% 确定在您添加 $userCredit->credits + 15 时列值不会更改
关于php - 我如何使用 Model::factory() 更新用户积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57509390/