我想更新数据库表中的记录,如果记录已经存在。如果记录不在数据库表中,则插入新记录。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()
插入记录到数据库中。
我在哪里错了这段代码? 我可以将唯一的密钥应用于表格吗?