Strapi:查询有和没有用户 ID 的房间
Strapi: query rooms with and without user ID
我想 return 一些默认数据以及经过身份验证的数据。所以基本上我有一个名为 rooms 的 table 两列 user 和 owner_id 与另一个 table 相关。我有一些数据没有任何关联 owner_id。这些是我的默认数据,我想始终发送它们,然后在我的应用程序中,我可以创建自定义房间,它将 owner_id 与之关联,对于那些我只想 return 经过身份验证的用户数据与默认的一起。但我的问题是我只能将经过身份验证的数据或所有默认数据发送到所有经过身份验证的用户数据。给个代码和截图请帮忙
async find(ctx) {
const owner_id = ctx.state.user.id;
const dname = await strapi.services.rooms.find();
const name = await strapi.services.rooms.find({owner_id})
return sanitizeEntity(name, { model: strapi.models.rooms });},
假设您将 PostGreSQL
与 strapi
一起使用,您可以使用 strapi.query
而不是 strapi.services
[= 轻松获取具有所有者链接和默认值的房间15=]
async find(ctx) {
const resp = await strapi
.query('rooms')
.model.query(function (qb) {
if (ctx.state.user) qb.where('owner_id', ctx.state.user.id);
qb.orWhere('owner_id', null);
})
.fetchAll();
const data = resp.toJSON();
return data
}
我想 return 一些默认数据以及经过身份验证的数据。所以基本上我有一个名为 rooms 的 table 两列 user 和 owner_id 与另一个 table 相关。我有一些数据没有任何关联 owner_id。这些是我的默认数据,我想始终发送它们,然后在我的应用程序中,我可以创建自定义房间,它将 owner_id 与之关联,对于那些我只想 return 经过身份验证的用户数据与默认的一起。但我的问题是我只能将经过身份验证的数据或所有默认数据发送到所有经过身份验证的用户数据。给个代码和截图请帮忙
async find(ctx) {
const owner_id = ctx.state.user.id;
const dname = await strapi.services.rooms.find();
const name = await strapi.services.rooms.find({owner_id})
return sanitizeEntity(name, { model: strapi.models.rooms });},
假设您将 PostGreSQL
与 strapi
一起使用,您可以使用 strapi.query
而不是 strapi.services
[= 轻松获取具有所有者链接和默认值的房间15=]
async find(ctx) {
const resp = await strapi
.query('rooms')
.model.query(function (qb) {
if (ctx.state.user) qb.where('owner_id', ctx.state.user.id);
qb.orWhere('owner_id', null);
})
.fetchAll();
const data = resp.toJSON();
return data
}