[英]Trying to understand how to make a UpdateOrCreate
我有一個 model ,代碼如下:
public static function insertSent($itemId, $currentPackId)
{
$itemHistory = new ItemHistory([
'item_id' => $itemId,
'pack_id' => $currentPackId,
'status' => self::SENT,
'returned_by' => Auth::id()
]);
$itemHistory->save();
}
public static function insertReturned($itemId, $currentPackId)
{
$itemHistory = new ItemHistory([
'item_id' => $itemId,
'pack_id' => $currentPackId,
'status' => self::RETURNED,
'returned_by' => Auth::id()
]);
$itemHistory->save();
}
我剛剛添加了 insertSent,我想將 insertReturned 更改為 function,如果它存在則更新記錄或創建它,以便 UpdateOrCreate。
我正在使用 laravel php
您可以很容易地調整您的方法以使用updateOrCreate
:
public static function insertReturned($itemId, $currentPackId)
{
ItemHistory::updateOrCreate([
'item_id' => $itemId,
'pack_id' => $currentPackId,
], [
'status' => self::RETURNED,
'returned_by' => Auth::id(),
]);
}
第一個數組是您正在尋找的。 如果找到記錄,則用第二個數組填充並保存。 如果沒有找到記錄,則合並第一個和第二個數組並創建新記錄。
Laravel 6.x 文檔 - Eloquent - 其他創建方法updateOrCreate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.