Паруса и ватерлинии: включить атрибуты из таблицы соединений в ассоциацию

Я пытаюсь смоделировать сеть людей, использующих Sails.js и среду ORM, Waterline.

У меня есть модель Person, в которой много людей через объект Relation. Мне нужен способ включить атрибут классификации из модели Relation join. Я хотел бы иметь возможность использовать метод populate(), предоставленный ватерлинией, чтобы получить список людей, связанных с конкретным человеком.

Человек моделируется следующим образом:

/**
* Person.js
*/

module.exports = {
  attributes: {
    first_name: {
      type: 'string',
      required: true
    },
    middle_name: {
      type: 'string',
      required: false
    },
    last_name: {
      type: 'string',
      required: true
    },
    date_of_birth: {
      type: 'date',
      required: false
    },
    relations: {
      collection: 'person',
      via: 'related_from',
      through: 'relation'
    },
  }
};

Модель отношений выглядит следующим образом:

/**
* Relation.js
*/

module.exports = {
  attributes: {

    classification: {
      type: 'string',
      required: true
    },

    related_to: {
      model: 'person'
    },
    related_from: {
      model: 'person'
    },
  }
};

заранее спасибо

0 ответов

Другие вопросы по тегам