我想更新數據庫表中的記錄,如果記錄已經存在。如果記錄不在數據庫表中,則插入新記錄。Laravel save()不是更新記錄
我已經EnableQueryLog它總是顯示插入查詢,如果記錄已經在表中寫時,下面的代碼爲
DB::enableQueryLog();
$user->userCommission()->save(new UserCommission($input['commission']));
dd(DB::getQueryLog());
。
這裏是我的查詢..
array:1 [▼
0 => array:3 [▼
"query" => "insert into `user_commissions` (`created_by`, `status_id`, `percent`, `user_id`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?, ?)"
"bindings" => array:6 [▼
0 => "1"
1 => "1"
2 => "0.10"
3 => 21
4 => "2016-08-13 08:07:45"
5 => "2016-08-13 08:07:45"
]
"time" => 2.57
]
]
在上面查詢user_id說明21的記錄已經在表中雖然Save()
插入記錄到數據庫中。
我在哪裏錯了這段代碼? 我可以將唯一的密鑰應用於表格嗎?