Laravel 中的 updateOrCreate() 和 updateOrInsert() 有什么区别
这两种方法似乎都会创建新记录(如果不存在),或者使用提供的数据更新记录。两者之间有什么区别?
这两种方法似乎都会创建新记录(如果不存在),或者使用提供的数据更新记录。两者之间有什么区别?
updateOrCreate是 Eloquent Builder 的方法,也是 Query Builder 的方法。updateOrInsert
updateOrCreate返回模型,而返回布尔值updateOrInsert
来自Laravel代码的签名:
更新或创建
/**
 * 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 = [])
更新或插入
/**
 * 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 = [])