Wie kann ich eine Liste der Datensätze von PK in einer einzigen Abfrage mit bookshelf.js erhalten?Abfrage mit einer ID-Liste in Bookshelf JS
sollte das Ende Abfrage äquivalent zu:
SELECT * FROM `user` WHERE `id` IN (1,3,5,6,7);
Wie kann ich eine Liste der Datensätze von PK in einer einzigen Abfrage mit bookshelf.js erhalten?Abfrage mit einer ID-Liste in Bookshelf JS
sollte das Ende Abfrage äquivalent zu:
SELECT * FROM `user` WHERE `id` IN (1,3,5,6,7);
Diese Lösung funktioniert:
AdModel
.where('search_id', 'IN', [1, 2, 3])
.fetchAll();
Sie können auch die Knex Querybuilder verwenden das gleiche Ergebnis
AdModel
.query(qb => {
qb.whereIn('search_id', [1, 2, 3]);
})
.fetchAll();
Danke DeadEye, ich fand die Lösung mit Knex so etwas wie knex.select ('name'). Von ('users') .whereIn ('id', [1, 2, 3]) .orWhereIn ('id' , [4, 5, 6]) –
Rechts, mit knex.js ist das viel einfacher (; – DeadEye
Beachten Sie, dass die Reihenfolge der Ergebnisse nicht garantiert ist, dass sie der Abfrage entsprechen. Dies ist wichtig, wenn Sie einen Batch-Loader abstrahieren, wie im Fall von https://github.com/facebook/dataloader. – Gajus
Sie bekommen haben versuche etwas wie 'model.where ('ID', [1,3,5,7,8]). fetch(). then (function() {});' –
Ja, aber Syntaxfehler :) –