使用 Sequelize ORM 创建多个 INNER JOINS
Create multiple INNER JOINS with Sequelize ORM
我将 Sequelize ORM 与 Node.js 一起使用,但我不知道如何使用它构建以下查询。
SELECT service.*, serviceCollection.*, client.companyName, client.idclient
FROM service
INNER JOIN serviceCollection
ON service.serviceCollection_idserviceCollection = serviceCollection.idserviceCollection
INNER JOIN client
ON serviceCollection.client_idclient = client.idclient
当我在 phpMyAdmin 上尝试时,此查询有效且运行良好。
复杂的是客户端模型与服务没有直接关系,所以在尝试这样做时:
Service.findAll({include : [ServiceCollection, Client]}).then(function(service){
if(service) {
res.status(200).json(service);
}
});
我收到以下错误:
Unhandled rejection Error: client is not associated to service!
我如何准备查询才能从 serviceCollection 中的外键而不是原始模型中获取客户端信息- 服务。
我不能只在 client 上使用 include
因为它会给我错误,我需要将它与这个查询关联一些其他方式,我似乎无法在文档中找到解决方案。
servicecollection和client之间是否建立了关系?在这种情况下你可以这样做:
Service.findAll({
include : [
{
model: ServiceCollection,
required: true,
include: [{model: Client, required: true }]}
]
});
required: true
创建内连接,默认为左连接
我将 Sequelize ORM 与 Node.js 一起使用,但我不知道如何使用它构建以下查询。
SELECT service.*, serviceCollection.*, client.companyName, client.idclient
FROM service
INNER JOIN serviceCollection
ON service.serviceCollection_idserviceCollection = serviceCollection.idserviceCollection
INNER JOIN client
ON serviceCollection.client_idclient = client.idclient
当我在 phpMyAdmin 上尝试时,此查询有效且运行良好。 复杂的是客户端模型与服务没有直接关系,所以在尝试这样做时:
Service.findAll({include : [ServiceCollection, Client]}).then(function(service){
if(service) {
res.status(200).json(service);
}
});
我收到以下错误:
Unhandled rejection Error: client is not associated to service!
我如何准备查询才能从 serviceCollection 中的外键而不是原始模型中获取客户端信息- 服务。
我不能只在 client 上使用 include
因为它会给我错误,我需要将它与这个查询关联一些其他方式,我似乎无法在文档中找到解决方案。
servicecollection和client之间是否建立了关系?在这种情况下你可以这样做:
Service.findAll({
include : [
{
model: ServiceCollection,
required: true,
include: [{model: Client, required: true }]}
]
});
required: true
创建内连接,默认为左连接