README
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
- Instalar o pacote:
$ npm install adonis-lucid-polymorphic-ow
- Registrar o provider dentro do arquivo app.js na pasta start/app.js
const providers = [
...
'adonis-lucid-polymorphic-ow/providers/PolymorphicProvider',
...
]
- 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] (https://github.com/rodolphonetto)