php laravel eloquent 对象无法更改
php laravel eloquent object can not be changed
我有一个奇怪的错误,我不知道为什么它不起作用。所以我正在使用 Laravel php 框架并从 db 获取一个对象。因为一些十进制数看起来像这样:'.00',我想把它改成这个'0',但是当我循环它时它不能改变。
它看起来像这样:
$stipendien = Stipendium::where('id','=',$request->input('id'))->get()->toArray();
foreach($stipendien as $object => $test)
{
foreach($test as $key => $value)
{
if($test[$key] == ".00")
{
$test[$key] = "0";
}
}
}
return $stipendien;
当我赋值 new 时不应该更改“$stipendien”吗,因为它确实会转到 if 语句并获得正确的密钥?
array:2 [
0 => array:17 [
"id" => 1
"Kosten_Kurs" => "22.00"
"Kosten_Prüfung" => ".00"
"Kosten_Unterlagen" => ".00"
"Kosten_Lernurlaub" => ".00"
"Kosten_Reise" => ".00"
"Kosten_Sonstig" => ".00"
]
1 => array:17 [
"id" => 2
"Kosten_Kurs" => "22.00"
"Kosten_Prüfung" => "2.00"
"Kosten_Unterlagen" => ".00"
"Kosten_Lernurlaub" => ".00"
"Kosten_Reise" => ".00"
"Kosten_Sonstig" => ".00"
]
]
但是当我return它时,它根本没有改变。我在这里做错了什么?
通过添加 dd() 或 die 来检查您的条件是否匹配 if
if($test[$key] == ".00")
{
$test[$key] = "0";
}
您可以在分配 0 时尝试在循环中使用它
$stipendien[$object][$key] = "0";
我有一个奇怪的错误,我不知道为什么它不起作用。所以我正在使用 Laravel php 框架并从 db 获取一个对象。因为一些十进制数看起来像这样:'.00',我想把它改成这个'0',但是当我循环它时它不能改变。 它看起来像这样:
$stipendien = Stipendium::where('id','=',$request->input('id'))->get()->toArray();
foreach($stipendien as $object => $test)
{
foreach($test as $key => $value)
{
if($test[$key] == ".00")
{
$test[$key] = "0";
}
}
}
return $stipendien;
当我赋值 new 时不应该更改“$stipendien”吗,因为它确实会转到 if 语句并获得正确的密钥?
array:2 [
0 => array:17 [
"id" => 1
"Kosten_Kurs" => "22.00"
"Kosten_Prüfung" => ".00"
"Kosten_Unterlagen" => ".00"
"Kosten_Lernurlaub" => ".00"
"Kosten_Reise" => ".00"
"Kosten_Sonstig" => ".00"
]
1 => array:17 [
"id" => 2
"Kosten_Kurs" => "22.00"
"Kosten_Prüfung" => "2.00"
"Kosten_Unterlagen" => ".00"
"Kosten_Lernurlaub" => ".00"
"Kosten_Reise" => ".00"
"Kosten_Sonstig" => ".00"
]
]
但是当我return它时,它根本没有改变。我在这里做错了什么?
通过添加 dd() 或 die 来检查您的条件是否匹配 if
if($test[$key] == ".00")
{
$test[$key] = "0";
}
您可以在分配 0 时尝试在循环中使用它
$stipendien[$object][$key] = "0";