【发布时间】:2016-12-20 05:19:42
【问题描述】:
如果记录已经存在,我正在尝试更新数据库表中的记录。如果记录不在数据库表中,则插入新记录。
我已经为此编写了以下代码
DB::enableQueryLog();
$user->userCommission()->save(new UserCommission($input['commission']));
dd(DB::getQueryLog());
当 EnableQueryLog 总是显示插入查询,如果记录已经在表中。
这是我的查询..
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
]
]
在上面的查询中,虽然Save()向数据库中插入了记录,但表中已经有21条记录。
这段代码我哪里错了? 我可以对表应用唯一键吗?
【问题讨论】:
标签: laravel laravel-5.2 laravel-5.1