I am using Sequelize v6 with the mariadb dialect.
I have query that looks like this:
db.RunVersion.findAll({
include: [{
model: db.Run,
include: [{
as: "Watchers",
model: db.RunWatchers,
required: true,
where: {id: user.id}
}],
}],
where: where
}]
This produces a WHERE clause that looks like this:
FROM RunVersions AS RunVersion
LEFT OUTER JOIN (Runs AS Run
INNER JOIN RunWatchers AS Runs->Watchers ON Run.id = Run->Watchers.wid
AND Run->Watchers.un = 'mrprice') ON RrunVersion.rid = Run.id
This returns bad results. I expect the WHERE clause to look like this:
FROM RunVersions AS RunVersion
LEFT OUTER JOIN Runs AS Run ON RunVersion.rid = Run.id
INNER JOIN RunWatchers AS Run->Watchers ON Run.id = Run->Watchers.wid AND Run-Watchers.unname = 'mrprice'
Any ideas why this is happening?