в чем разница между updateOrCreate() и updateOrInsert() в laravel 5.4

оба метода, похоже, создают новую запись, если она не существует, или обновляют запись с предоставленными данными

1 ответов


updateOrCreate метод Красноречивый Строитель и updateOrInsert метод Конструктор Запросов.

updateOrCreate возвращает модель, тогда как updateOrInsert возвращает boolean


подписи из кода 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
 */
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 = [])