我想在没有进行两次查询的情况下使用雄辩的模型执行重复密钥更新的插入,问题是当我使用updateOrCreate()
时它会进行两次查询
/**
* Create or update a record matching the attributes, and fill it with values.
*
* @param array $attributes
* @param array $values
* @return static
*/
public static function updateOrCreate(array $attributes, array $values = [])
{
$instance = static::firstOrNew($attributes);
//second query
$instance->fill($values)->save();
return $instance;
}
public static function firstOrNew(array $attributes)
{
//first query
if (! is_null($instance = (new static)->newQueryWithoutScopes()->where($attributes)->first())) {
return $instance;
}
return new static($attributes);
}
谢谢:)