Поскольку вы обращаетесь к книжной полке напрямую, вам необходимо преобразовать набор результатов в json. У книжной полки есть toJSON
помощник для этого. sanitizeEntity
, как следует из названия, может использоваться только для одного результата.
const { sanitizeEntity } = require('strapi-utils');
module.exports = {
async findFriends(){
const entities = await strapi.query('friendship')
.find({
where: { user1: 1 },
orWhere: { user2: 1 }
})
.fetchAll()
.then(results => results.toJSON());
return entities.map(entity => sanitizeEntity( {
model: strapi.models.friendship
} ))
}
}
Если вы хотите копать глубже, вы можете проверить свои node_modules для этого файла node_modules/strapi/packages/strapi-connector-bookshelf/lib/queries.js
. Вот как strapi устанавливает сервисный помощник find
для вашей модели.
function find(params, populate, { transacting } = {}) {
const filters = convertRestQueryParams(params);
return model
.query(buildQuery({ model, filters }))
.fetchAll({
withRelated: populate,
transacting,
})
.then(results => results.toJSON());
}