在laravel 5.0中的重复密钥更新eloquent

时间:2016-06-24 14:52:08

标签: laravel-5 on-duplicate-key

我有一张桌子" app_sessions"在我的数据库中有两个唯一键 - device_id和device_token。我想仅在具有device_id或device_token的记录不存在时才在此表中插入新会话,否则只更新该记录的会话。

我们可以使用"插入....重复密钥更新....."查询。但是我们如何才能使用laravel 5.0 eloquent实现这一目标。

注意:我们都知道其他方法,例如首先获取记录然后根据结果插入或更新。

1 个答案:

答案 0 :(得分:0)

https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Builder.html#method_updateOrCreate

User::updateOrCreate(['email'=>'foo@bar.com'],['name'=>'foobar']);

这将检查匹配第一个阵列的用户,然后使用第二个阵列更新该用户,或者使用该名称和电子邮件创建新用户。