我遇到了一個“問題”。我正在嘗試使用以下代碼更新一個查詢中的多個列:
Bewerbungen::query()
->where('Stellenanzeigen_ID', $bewerbung->Stellenanzeigen_ID)
->where('bewerber_email', '!=', $bewerbung->bewerber_email)
->update(['is_Canceled' => 1]);
Bewerbungen::query()
->where('Stellenanzeigen_ID', $bewerbung->Stellenanzeigen_ID)
->where('bewerber_email', '!=', $bewerbung->bewerber_email)
->update(['cancel_Date' => $date]);
它作業正常,但感覺沒有必要兩次完整查詢,但是當我這樣嘗試時:
Bewerbungen::query()
->where('Stellenanzeigen_ID', $bewerbung->Stellenanzeigen_ID)
->where('bewerber_email', '!=', $bewerbung->bewerber_email)
->update(['is_Canceled' => 1])
->update(['cancel_Date' => $date]);
我收到錯誤call to a member function update() on int我還嘗試將此陳述句直接包含在update()陳述句中:
$date = Carbon::now()->toDateString();
我也試過這個:
Bewerbungen::query()
->where('Stellenanzeigen_ID', $bewerbung->Stellenanzeigen_ID)
->where('bewerber_email', '!=', $bewerbung->bewerber_email)
->update(['is_Canceled' => 1], ['cancel_Date' => $date]);
這也不起作用,因為第二個 [] 變灰了。在cancel_Date有資料型別date
它適用于兩個單獨的陳述句,但我很好奇是否可以以某種方式保存一些代碼。
uj5u.com熱心網友回復:
對于 Laravel 中的更新,您需要在單個陣列中寫入更新值。您不能添加兩個時間更新函式和兩個不同的陣列。您可以在單個更新和陣列中添加多個值。
您可以檢查以下代碼:
Bewerbungen::query()
->where('Stellenanzeigen_ID', $bewerbung->Stellenanzeigen_ID)
->where('bewerber_email', '!=', $bewerbung->bewerber_email)
->update(['is_Canceled' => 1,'cancel_Date' => $date]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/384960.html
