首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >口才:更新数据库中的值

口才:更新数据库中的值
EN

Stack Overflow用户
提问于 2019-06-09 00:15:18
回答 1查看 35关注 0票数 1

我不能通过$Betrag减少/增加"Kontostand“(双精度)值

$Sender和$Empfänger模型都很好,并且成功地从数据库中选择了它们

代码语言:javascript
运行
复制
public function Transfer(){
    //Models werden erstellt
    $Sender = konto::find(request('SenderID'));
    $Empfänger = self::getModelbyIBAN(request('EmpfängerIban'));

    echo $Sender;
    echo $Empfänger;

    //Überweisung wird getätigt
    self::Transfer_execute($Empfänger, $Sender, request('betrag'));


    //Überweisungen werden für jedes Konto im Kontobewegungs-table gespeichert
    self::Transfer_save($Empfänger, "-", request('betrag'));
    self::Transfer_save($Sender, "+", request('betrag'));

}

私有函数Transfer_execute($Empfänger,$Sender,$Betrag){

代码语言:javascript
运行
复制
    $SenderNeuerKontostand = $Sender->kontostand - $Betrag;
    $EmpfängerNeuerKontostand = $Empfänger->kontostand + $Betrag;

    echo "neuer Kontostand Sender ";
    echo $SenderNeuerKontostand;
    echo "<br>neuer Kontostand Empfänger ";
    echo $EmpfängerNeuerKontostand;

    $Sender->kontostand = $SenderNeuerKontostand;
    $Empfänger->kontostand = $EmpfängerNeuerKontostand;


    $Sender->save();
    $Empfänger->save();
}

我希望在这两个模型的数据库中"kontostand“的值都会发生变化,但这并没有发生。

编辑:

这就是transfer_save方法。

它在另一个表中创建一个新条目。它工作得非常好。

代码语言:javascript
运行
复制
  private function Transfer_save($Konto, $plusminus, $Betrag){
        $kontobewegung = new kontobewegung;
        $kontobewegung->PlusOderMinus = $plusminus;
        $kontobewegung->KontoID = $Konto->ID;
        $kontobewegung->Betrag = $Betrag;

        $kontobewegung->save();
    }
EN

回答 1

Stack Overflow用户

发布于 2019-06-09 00:39:53

有几件事需要测试。首先,你确定有一个非零/非空值附加到request('bertag')吗?我不知道这是什么,我习惯于看到一个变量被注入到方法参数中,如下所示:

代码语言:javascript
运行
复制
public function Transfer(Request $request){ ... }

然后使用这个注入的变量,如下所示:

代码语言:javascript
运行
复制
self::Transfer_execute($Empfänger, $Sender, $request->get('betrag'));

如果这对您有效,那么另一件事可能是您正在将$Sender$Empfänger的旧值传递到最终的保存方法中。例如,您可能会成功地将它们保存在Transfer_execute方法中,但随后您会将这两个变量的原始值传递回Transfer_save。我不知道Transfer_save方法在做什么--但是如果它涉及到变量,它们将不是上面最初保存的变量,而是在保存之前的变量--您没有在transfer_execute方法中向它们传递任何东西。

HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56508078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档