2013-10-03 14 views
5

W mojej aplikacji żagle (naprawdę początkującego do żagli), mam 3 modele:
- Użytkownicy (e-mail, hasło)
- Grupy (nazwa)
- przedmioty (nazwa)
Chciałbym, aby model Grupy działał jako relacja wiele do wielu między Użytkownikami a Przedmiotami, w jaki sposób można to osiągnąć?wiele do wielu relacji w żagle

Używam żagli 0.9.4, Przeczytałem numer 124 dotyczący związku, ale tak naprawdę nie rozumiem, czy można go zastosować do istniejącego modelu (który również zawiera własne atrybuty na wierzchu itemId i identyfikator użytkownika).

Odpowiedz

1

Od wersji Sails.js v0.9.4 framework nie obsługuje jeszcze skojarzeń.

Balderdash (twórcy żagli) stwierdzili, że oba stowarzyszenia i transakcje są w planie działań na rzecz uwolnienia produkcyjnej i udokumentował możliwego API w #124 issue na GitHub

Obecnie nie jest development branch z Wodnicy (the ORM adapter, aby żagle zastosowań), który wspiera stowarzyszenia, jednak mogą wystąpić pewne problemy przy poszukiwaniu dokumentacji na nowym API

na razie będzie trzeba być kreatywnym i zajrzeć do alternatywnych sposobów, aby połączyć użytkowników i przedmioty

7

Po przełączeniu na oddziale v0.10, można spróbować, co następuje

// Users.js 
module.exports = { 
    tableName: 'user', 
    attributes: { 
     email: 'STRING', 
     password: 'STRING', 
    } 
    items: { 
     collection: 'item', 
     via: 'users', 
     through: 'useritem' 
    } 
} 

// Items.js 
module.exports = { 
    tableName:'item', 
    attributes: { 
     name: 'STRING' 
    } 
    users: { 
     collection: 'user', 
     via: 'items', 
     through: 'useritem' 
    } 
} 

// Groups.js 
module.exports = { 
    tableName: 'group', 
    tables: ['user', 'item'], 
    junctionTable: true, 

    attributes: { 
    id: { 
     primaryKey: true, 
     autoIncrement: true, 
     type: 'integer' 
    }, 
    user_items: { 
     columnName: 'user_items', 
     type: 'integer', 
     foreignKey: true, 
     references: 'user', 
     on: 'id', 
     via: 'item_users', 
     groupBy: 'user' 
    }, 
    item_users: { 
     columnName: 'item_users', 
     type: 'integer', 
     foreignKey: true, 
     references: 'item', 
     on: 'id', 
     via: 'user_items', 
     groupBy: 'item' 
    } 
    } 
} 

musiałem przejść przez kod w this file aby dowiedzieć się, co się dzieje.

+0

Wciąż otrzymywałem polecenie "TypeError: Can not set property" munction-table "niezdefiniowanego. –

+1

Mam to! Zauważ, ŻE WSZYSTKO W NISKIEJ TEMPERATURZE (<- ironia). https://gist.github.com/clouddueling/70cee9b67077bd93b228 –