Опишите отношения с CompoundJS

У меня проблема с CompoundJS и отношениями моделей. Я пытаюсь установить связь между Creation и Photo, это работает, потому что я могу видеть "creationId" в таблице Photo. Но теперь я хотел бы получить все фотографии каждого творения в виде, который я использую, чтобы показать все творения. Является ли это возможным? Как я должен делать?

Мои модели:

var Creation = describe('Creation', function () {
    property('title', String);
    property('description', Text);
    property('thumbnail', Text);
    property('moodboard', String);
    property('date', Date);
    property('location', String);
    set('restPath', pathTo.creations);
});

var Photo = describe('Photo', function () {
    property('name', String);
    property('file', String);
    set('restPath', pathTo.photos);
});

Creation.hasMany(Photo, {as: 'photos', foreignKey: 'creationId'});
Photo.belongsTo(Creation, {as: 'creation', foreignKey: 'creationId'});

Мой контроллер создания:

action(function index() {
    this.title = 'Creations index';
    Creation.all(function (err, creations) {
        console.log(creations);
        switch (params.format) {
            case "json":
                send({code: 200, data: creations});
                break;
            default:
                render({
                    creations: creations
                });
        }
    });
});

Когда я добавляю фото:

    Photo.create(req.body.Photo, function (err, photo) {
        respondTo(function (format) {
            format.json(function () {
                if (err) {
                    send({code: 500, error: photo && photo.errors || err});
                } else {
                    send({code: 200, data: photo.toObject()});
                }
            });
            format.html(function () {
                if (err) {
                    flash('error', 'Photo can not be created');
                    render('new', {
                        photo: photo,
                        title: 'New photo',
                        layout: 'photos'
                    });
                } else {
                    flash('info', 'Photo created');
                    redirect(path_to.photos);
                }
            });
        });
    });
});

0 ответов

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