2016-07-04 20 views
0

haben ein Sprachmodell, das alle verfügbaren Sprachen speichert. Sprache:benutzerdefinierte Wasserlinie beitreten Tabelle

attributes: { 
    language: { 
     type: 'string', 
     required: true 
    }, 
    combinations: { 
     type: 'array' 
    } 
} 

Ein Lebenslauf Modell:

user: { 
     model: 'User', 
     required: true 
    }, 
    language: { 
     model:'' 
     required: false, 
     through: 'resumelanguage' 
    } 

Jetzt muss ich verknüpfen Thesen zwei zusammen, so dass ein Lebenslauf eine Sammlung von Sprachen haben kann, und diese Verknüpfung sollte ein anderes Attribut mit ihm haben; sagen rank.

Wie mache ich das?

Antwort

0

Wenn Sie möchten, dass mehrere Sprachen in Ihrem Lebenslauf enthalten sind, müssen Sie dem Modell collection Attribut hinzufügen.

// /models/Resume.js 
attributes { 

    // Other attributes here 

    user: { 
     model: 'user', 
     required: true 
    }, 
    languages: { 
     collection:'language', 
     via: 'resume' 
    } 
}; 

Nun, wenn Sie eine One-to-Many Beziehung wollen, müssen Sprachmodell model Attribut

// /models/Language.js 
attributes: { 
    language: { 
     type: 'string', 
     required: true 
    }, 
    combinations: { 
     type: 'array' 
    }, 
    resume : { 
     model: 'resume' 
    } 
} 

Wenn Sie ein möchten Many-to-Many Beziehung, Sprache Modell collection Attribut zu

// /models/Language.js 
attributes: { 
    language: { 
     type: 'string', 
     required: true 
    }, 
    combinations: { 
     type: 'array' 
    }, 
    resumes : { 
     collection: 'resume', 
     via: 'languages' 
    } 
} 

haben muss - BEARBEITEN -

Oder Sie können One-to-Many-Beziehung in der "Link" -Tabelle (zB: LanguageResume) mit beiden Tabellen verwenden. Dann können Sie der Tabelle "link" andere Attribute hinzufügen

// /models/LanguageResume.js 
attributes: { 
    languages: { 
     collection: 'language', 
     via: 'resumes' 
    }, 
    resumes : { 
     collection: 'resume', 
     via: 'languages' 
    }, 

    rank: { 
     type: 'integer' 
    }, 

} 
+0

Bitte bearbeiten Sie Ihre Antwort, um zu erklären, was Ihr Code tut und wie er das Problem löst. Antworten, die lehren, sind viel nützlicher als Code ohne Erklärung. –

+0

Entschuldigung. Ich habe etwas geschrieben, aber es ist nicht mehr hier. Was ist passiert ? – Martial

+0

Sie haben einen Teil meiner Frage verpasst. über enthält andere Attribute wie Rang zum "Link". vielleicht, wie Sie eine Join-Tabelle angeben können? – jonscyriac