我在这里尝试做的基本上是对this question
建议的混合User.count().where({follower: followerId})
sails.models['user_phones__phone_users'].count({user_phones: userId}).exec(...)
所以换句话说,我有一种情况,我有三个模型:A,B和C.B充当A和C之间的通过关联。
如果我的路线基本上是A /:id / C?D = 1& E = 2
如何获得与A(通过B)相关联的C的结果并匹配查询字符串的过滤器(在D和E上)?
目前看起来count()只适用于一个型号,但这种情况有解决办法吗?
我知道一个想法是在一个填充(在C上)使用一个find(在A上),然后计算填充的关联,但在我的情况下,我有太多的记录,这个解决方案会破坏性能。
编辑:
过滤条件D和E适用于C.所以它们应该在SQL中被转换为C.D = 1和C.E = 2。
A和C也与代码相关联:
// Model A
{
attributes: {
cs: {
collection: 'C',
via: 'as',
through: 'b'
},
}
}
// Model B
{
attributes: {
a: {
model: 'A'
},
c: {
model: 'C'
}
}
}
// Model C
{
attributes: {
as: {
collection: 'A',
via: 'cs',
through: 'b'
},
}
}