Relazioni

Table of Contents

E' probabile che in un’applicazione reale, i Modelli siano collegati fra di loro; ad esempio, un Post può avere più Commenti, ed avere un unico Autore. In questa sezione descriviamo come specificare queste relazioni all’interno dei Modelli.

Esempio
import { Model, Relation } from 'flamingo-admin';

export class Post extends Model {
  /**
   * Specifico le relazioni "viste" da questo Modello.
   */
  static relations = {
    /**
     * Specifico il modello di destinazione mediante il _Nome_ della classe.
     * (Verrà trovato dalla repository)
     */
    comments: new Relation.HasMany('Comment'),
    author: new Relation.HasOne('User'),
  }
}

HasOne

Le relazioni di tipo HasOne permettono di rappresentare una relazione One-to-One o l’inverso di una One-to-Many.

Ad esempio, per specificare che un Post ha un autore di tipo User:

static relations = {
  author: new Relation.HasOne('User'),
}
Non Implementato

Al momento non è possibile specificare le chiavi, ovvero gli attributi. La relazione author di default cercherà nei record il campo author_id.