laravel 5.0 eloquent 中的重复密钥更新

on duplicate key update in laravel 5.0 eloquent

我的数据库中有一个 table "app_sessions",有两个唯一键 - device_id 和 device_token。我想在此 table 中插入一个新会话,仅当带有 device_id 或 device_token 的记录不存在时,否则只需更新此记录的会话。

我们可以使用 "insert .... on duplicate key update ....." 查询来做到这一点。但是我们如何使用 laravel 5.0 eloquent.

来实现呢?

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

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

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

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