我有一张桌子" app_sessions"在我的数据库中有两个唯一键 - device_id和device_token。我想仅在具有device_id或device_token的记录不存在时才在此表中插入新会话,否则只更新该记录的会话。
我们可以使用"插入....重复密钥更新....."查询。但是我们如何才能使用laravel 5.0 eloquent实现这一目标。
注意:我们都知道其他方法,例如首先获取记录然后根据结果插入或更新。
答案 0 :(得分:0)
https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Builder.html#method_updateOrCreate
User::updateOrCreate(['email'=>'foo@bar.com'],['name'=>'foobar']);
这将检查匹配第一个阵列的用户,然后使用第二个阵列更新该用户,或者使用该名称和电子邮件创建新用户。