Mut*_*amy 2 node.js express sequelize.js
我有3个表,如user,userProfile和userProfileImages。User与userPrfoile尽可能多地userProfile映射,并且与userProfileImages尽可能多地映射。
我需要编写的查询顺序中userProfileImages,我尝试如下,但没有运气。
User.findById(uID, {
include: [
model: sequelize.models.userProfile
as: userProfile,
include: [
{
model: sequelize.models.userProfileImages,
as: 'profileImages',
}
],
order: [[sequelize.models.userProfileImages.id, "desc"]]
// order: [["id", "desc"]] --> Tried this way also no luck
] }
Run Code Online (Sandbox Code Playgroud)
我得到了结果,但是userProfilePicture表的结果却不尽如人意。
请给解决方案
从Sequelize官方文档中:
// Will order by an associated model's created_at using an association object. (preferred method)
[Subtask.associations.Task, 'createdAt', 'DESC'],
// Will order by a nested associated model's created_at using association objects. (preferred method)
[Subtask.associations.Task, Task.associations.Project, 'createdAt', 'DESC'],
Run Code Online (Sandbox Code Playgroud)
通过引用以上语法,如下更新您的订单选项
User.findById(uID, {
include: [
model: sequelize.models.userProfile
as: userProfile,
include: [{
model: sequelize.models.userProfileImages,
as: 'profileImages',
}],
order: [['profileImages','id', 'desc']]
]
});
Run Code Online (Sandbox Code Playgroud)
官方文档:http : //docs.sequelizejs.com/manual/tutorial/querying.html#ordering
请参阅此线程以获取更多解决方案:https : //github.com/sequelize/sequelize/issues/4553
小智 7
像下面这样关联更新您的订单
User.findById(uID, {
include: [
model: sequelize.models.userProfile,
as: userProfile,
include: [{
model: sequelize.models.userProfileImages,
as: 'profileImages',
separate:true
order: [['id', 'desc']]
}],
]});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2414 次 |
| 最近记录: |