我正在尝试在用户数据的结果中添加一个自定义字段。我能够提取简单数据并将其作为响应发送,但无法获取虚拟数据,甚至处理器也无法正常工作。
这是我的代码
// Load bookshelf
var bookshelf = require('bookshelf')(knex);
bookshelf.plugin('visibility');
bookshelf.plugin('registry');
bookshelf.plugin('processor');
// Model
User = bookshelf.Model.extend({
tableName: 'users',
visible: ['name', 'id', 'email', 'company_id', 'companyOwner'],
processors: {
companyId: function(value) {
return 'chalta hai';
}
},
virtuals: {
fullName: function() {
return 'value for the field';
}
}
});
// Controller
User
.where({
'company_id' : company_id,
'status' : 1
})
.fetch().then(function(result){
// Tried simple return also
// res.send(result);
res.send(result.toJSON({virtuals : true}));
});
我在互联网上没有发现这样的问题,我想知道我在这里做错了什么。由于两者都不适合我,这意味着我缺少了一些东西。插件regsitry
工作正常。