gpt4 book ai didi

mysql - Yii2-如何为同一用户更新多条记录

转载 作者:行者123 更新时间:2023-11-29 05:05:22 27 4
gpt4 key购买 nike

这个问题可能被问过好几次,但我几乎都看过了,但仍然无法得到答案。

流程很简单。用户已获得 sims。发布 sims 时,我将针对该用户的 sims 计数插入到名为 sim_balance 的表中。

enter image description here

现在有一个 SIM Return 的用例。在返回 sim 时,我正在更新上表。如上图所示,可以看到总共有 8 个 sim 已发给同一用户,但日期时间不同。更新表的代码如下

Sim 返回创建

$model = new SimReturn();
$result = 0;
$returned_by = 0;

try{
if (isset($_REQUEST['selected_imsi'])) {
foreach ($_REQUEST['selected_imsi'] as $k => $v) {

$count = $_REQUEST['selected_imsi'];
$result = count($count);
.
.
.
$returned_by = $m->return_by;
.
.
.
if($m->save())
{
// code...
}

}
// below function call is updating the record
SimBalance::update_Record($returned_by,$result);
return $this->redirect(Url::toRoute('/simreturn'));
}catch (Exception $ex)
{
{
return $this->redirect(['index']);
}
}

更新记录

    public static function update_Record($user_id,$count){
$sims = SimBalance::find()->where(['user_id'=>$user_id])->one();
$sims->sims_count = $count;
$sims->balance_date_time = date('Y-m-d h:i:s');
return $sims->save();
}

现在,如果返回的 SIM 来自相同的 id,那么记录将得到完美更新。

但是当我尝试从不同的 id 返回 SIM 卡时,假设我从 id 1 返回了 2 模拟人生2 来自 id 2 的 sims,因为它们都用于相同的 user_id 所以两个 sims_count 都应该更新。但它只是更新了 id 1 的记录。

更新 1

根据给出的建议,现在我通过查看此 link 使用 update() .

 public static function update_Record($user_id,$count){
$sims = SimBalance::find()->where(['user_id'=>$user_id])->all();
foreach ($sims as $sim)
{
$model = SimBalance::find()->where(['id'=>$sim->id])->one();
$model->sims_count = $count;
$model->balance_date_time = date('Y-m-d h:i:s');
return $model->save();
}

}

但是,它仍然对我不起作用,否则它会增加一个计数。

如何同时更新两个 ids 的记录?

如有任何帮助,我们将不胜感激。

最佳答案

这里的问题是你要返回 $model->update()。这意味着 foreach 将在第一个循环中退出。

改用:

public static function update_Record($user_id,$count){
$sims = SimBalance::find()->where(['user_id'=>$user_id])->all();

foreach ($sims as $model)
{
$model->sims_count = $count;
$model->balance_date_time = date('Y-m-d h:i:s');
$model->update();
}

return $sims;
}

关于mysql - Yii2-如何为同一用户更新多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49376765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com