1.0.3 • Published 3 years ago

adonis-lucid-polymorphic-ow v1.0.3

Weekly downloads
10
License
MIT
Repository
bitbucket
Last release
3 years ago

Adonis Lucid Polymorphic Ow

Suporte a relações polimorficas no adonis com opção de parametro (uso em relações criadas no laravel)

Instalação

  1. Instalar o pacote:
$ npm install adonis-lucid-polymorphic-ow
  1. Registrar o provider dentro do arquivo app.js na pasta start/app.js
const providers = [
  ...
  'adonis-lucid-polymorphic-ow/providers/PolymorphicProvider',
  ...
]
  1. Substituir o conteudo do arquivo BaseRelation.js na pasta node_modules/@adonisjs/lucid/src/Lucid/Relations com o conteudo do arquivo ./src/BaseRelation.js

Exemplo

Estrutura das tabelas

bakeries
    id - integer
    name - string

addresses
    id - integer
    address - string
    addressable_id - integer
    addressable_type - string

Estrutura do model para relação 1-1

  static get traits() {
    return ['@provider:Morphable']
  }

  address() {
    return this.morphOne(
      'App/Models/Address',
      'id',
      'addressable_id',
      'addressable_type',
      `App\\Models\\Dupan\\Bakery`
    )
  }

Estrutura do model para relação 1-N

  static get traits() {
    return ['@provider:Morphable']
  }

  address() {
    return this.morphMany(
      'App/Models/Address',
      'id',
      'addressable_id',
      'addressable_type',
      `App\\Models\\Dupan\\Bakery`
    )
  }

Creditos

O pacote foi originalmente escrito por: Evgeni Razumov

A customização foi criada por Rodolpho Netto

1.0.3

3 years ago

1.0.1

3 years ago