Implementierung mit Sequelize-Version: "^ 4.15.0"
Ich versuche, eine Wo-Bedingung von der Ebene 2 nach unten zu den Assoziationen hinzuzufügen.
%Vor%Ich habe die Methode müde:
%Vor% Aber gibt den Fehler, dass model2_alias.model3_alias.id
nicht definiert / nicht gefunden ist.
Das obige funktioniert, wenn es als '$model2_alias.id$': { [Op.in]: [1, 2, 3] }
geschrieben wird, also muss die Syntax geschrieben werden, aber wie geht man eine Ebene tiefer.
Wenn die formed SQL-Anweisung in einem beliebigen MySQL-Management-Tool ausgeführt wird, ergibt dies ein korrektes Ergebnis, so dass die where
-Bedingungen, die ich implementieren möchte, auch nicht falsch sind.
Irgendwelche Ideen, was mir hier fehlt oder das funktioniert nur für eine Ebene. Dann was für mehr Ebenen zu tun?
Ich nehme an, dass Ihr Code nicht funktioniert hat, weil Sie model1_id
anstelle von id
verwendet haben. Also sollte der Code
Auch als @Rahul erwähnt, können Sie wo direkt in Ihrem Include auch verwenden
%Vor%Sie können es auch versuchen
%Vor%z.B.
%Vor% Über sub query
bedeutet, dass Sie limit
/ offset
+ ( 1:m
relation oder left join
) verwenden.
Wenn Sie 1:1
relation haben, fügen Sie einfach required: true
zu include
hinzu und Sie erhalten inner join
anstelle von left join
und sequelize
erstellen nicht sub query
.
Tags und Links node.js sequelize.js associations where-clause nested-query