我无法将$ Kettostand的“ Kontostand”(加倍)值降低/增加
$ Sender和$Empfänger模型很好,可以从数据库中成功选择
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){
$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方法。
它将在另一个表中创建一个新条目。效果很好。
private function Transfer_save($Konto, $plusminus, $Betrag){
$kontobewegung = new kontobewegung;
$kontobewegung->PlusOderMinus = $plusminus;
$kontobewegung->KontoID = $Konto->ID;
$kontobewegung->Betrag = $Betrag;
$kontobewegung->save();
}
答案 0 :(得分:1)
要测试的事物。首先,您确定request('bertag')
附加了一个非零/非空值吗?我不知道这是什么,我习惯于看到这样的方法参数中注入的变量:
public function Transfer(Request $request){ ... }
然后使用注入的变量,例如:
self::Transfer_execute($Empfänger, $Sender, $request->get('betrag'));
如果这对您有用,那么另一件事可能是您正在将$Sender
和$Empfänger
的旧值传递到最终的save方法中。 IE,您可能已经成功地将它们保存在Transfer_execute
方法中,但是随后您将这两个变量的原始值传递回了Transfer_save
中。我不知道Transfer_save
方法在做什么-但是,如果它接触到var,它们将不会是上面最初保存的内容,而是保存之前的var-您没有将任何内容传回通过transfer_execute方法进入它们。
HTH