我有一個奇怪的錯誤,我不知道為什么它不起作用。所以我使用 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;
當我分配新的值時,不應該更改“$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"
]
]
但是當我回傳它時,它根本沒有改變。我在這里做錯了什么?
uj5u.com熱心網友回復:
您可以嘗試在分配 0 時在回圈中使用它
$stipendien[$object][$key] = "0";
uj5u.com熱心網友回復:
通過添加 dd() 來檢查您的條件是否匹配,否則如果
if($test[$key] == ".00")
{
$test[$key] = "0";
}
uj5u.com熱心網友回復:
為此,您可以簡單地使用 laravel 訪問器而不是使用嵌套回圈在您的控制器中使用類似這樣的東西
use App\Models\User;
$user = User::find(1);
$firstName = $user->first_name;
然后在你的模型中。
public function getFirstNameAttribute($value)
{
return ucfirst($value);
}
這是laravel的官方檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/398932.html
上一篇:用PHP計算英國母親節
