adonis-lucid-update-or-create

Implements Laravel's updateOrCreate method as a trait in AdonisJs

Usage no npm install needed!

<script type="module">
  import adonisLucidUpdateOrCreate from 'https://cdn.skypack.dev/adonis-lucid-update-or-create';
</script>

README

Installation

npm i adonis-lucid-update-or-create --save

Registering provider

Make sure to register the update or create provider inside start/app.js

const providers = [
  "adonis-lucid-update-or-create/providers/UpdateOrCreateProvider"
]

Usage

First add the trait to the model.

const Model = use("Model")

class Rating extends Model {
  static boot() {
    super.boot()

    this.addTrait("@provider:Lucid/UpdateOrCreate")
  }
}

Finally use the method as follows

const Rating = use("App/Models/Rating")

Rating.updateOrCreate(
  {
    user_id: 18,
    article_id: 23
  },
  { rating: 5 }
)