CompoundJS とモデルの関係に問題があります。Creation と Photo の関係を作ろうとしましたが、Photo テーブルで "creationId" を確認できるのでうまくいきます。しかし、今では、すべての作品を表示するために使用するビューで、各作品のすべての写真を取得したいと考えています。出来ますか?どうすればいいですか?
私のモデル:
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);
}
});
});
});
});