2015-11-12 2 views
0

Я определил свои отношения по мере необходимости. Пользователь имеет несколько фотографий и фотография принадлежит пользователю.Запрос на полиморфные отношения Bookshelf.js возвращает пустой массив

Почему мой запрос возвращает пустые фотографии [] array? (Я пытаюсь получить все фотографии данного пользователя)

Docs: http://bookshelfjs.org/#polymorphic

Моего стола изображения структурирована следующим образом:

изображение

id (auto increment and primary key) 
imageable_type (user is given) 
imageable_id (user_id is given) 

models.js

var image = db.Model.extend({ 
    tableName: 'images', 
    imageable: function() { 
     return this.morphTo('imageable', user); 
    } 
}); 

var user = db.Model.extend({ 
    tableName: 'users', 
    hasTimestamps: true, 

    photos: function() { 
     return this.morphMany(image, 'imageable'); 
    } 
}); 

module.exports.user = user; 
module.exports.image = image; 

приложение.js

var user = require('./models').user; 
var image = require('./models').image; 

app.get('/photos', function (req, res) { 
    user.where('id' , 1).fetchAll({withRelated: ['photos']}).then(function (data) { 
     data = data.toJSON(); 
     res.send(data); 
    }); 
}); 

ответ

-1

Проблема решена.

Оказывается, вам нужно использовать имя таблицы множественного числа в таблице изображений, которая в этом случае равна users.

+0

Упорядочить больше? – itsashis4u

Смежные вопросы