【发布时间】:2017-11-08 11:39:39
【问题描述】:
这两种方法似乎都会在不存在的情况下创建新记录或使用提供的数据更新记录。两者有什么区别?
【问题讨论】:
标签: php laravel laravel-5 eloquent
这两种方法似乎都会在不存在的情况下创建新记录或使用提供的数据更新记录。两者有什么区别?
【问题讨论】:
标签: php laravel laravel-5 eloquent
updateOrCreate 是Eloquent Builder 的方法,updateOrInsert 是Query Builder 的方法。
updateOrCreate 返回模型,而 updateOrInsert 返回布尔值
来自 Laravel 代码的签名:
updateOrCreate
/**
* Create or update a record matching the attributes, and fill it with values.
*
* @param array $attributes
* @param array $values
* @return \Illuminate\Database\Eloquent\Model|static
*/
public function updateOrCreate(array $attributes, array $values = [])
updateOrInsert
/**
* Insert or update a record matching the attributes, and fill it with values.
*
* @param array $attributes
* @param array $values
* @return bool
*/
public function updateOrInsert(array $attributes, array $values = [])
【讨论】: