laravel:使用DB facade存在时插入或更新记录

时间:2016-01-15 17:25:40

标签: laravel

是否存在使用model外观在数据库中存在记录时插入新记录或更新的方法?
注意:没有controller但只有<div ng-if="entry.type === 'action'">put something here<div> <div ng-if="entry.type === 'event'">put something here<div> <div ng-if="entry.type === 'comment'">put something here<div> ,因此使用模型相关的方法是不可能的。我的问题是关于query builder

1 个答案:

答案 0 :(得分:1)

最直接的方法是查看数据库的 upserting 的语法。根据数据库和具体情况,它会有所不同,可能需要定义某种UNIQUE密钥。

以下是MySQL的示例:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;

顺便说一句,更惯用的方法是定义模型。 Model允许您更优雅地处理这种情况,并且(在许多情况下)阻止您将代码绑定到特定的RDBMS。