Desidero aggiungere una clausola where()
nella mia query, ma condizionata. Nello specifico, voglio che venga aggiunto solo se un parametro querystring specifico viene passato nell'URL. È possibile, e se sì, come potrei fare?Posso aggiungere condizionatamente una clausola where() alla mia query knex?
router.get('/questions', function (req, res) {
knex('questions')
.select('question', 'correct', 'incorrect')
.limit(50)
.where('somecolumn', req.query.param) // <-- only if param exists
.then(function (results) {
res.send(results);
});
});
Grazie! Penso che dovrebbe essere: if (req.query.param) { queryBuilder.where ('somecolumn', req.query.param); } –
Questo ha funzionato per me. Grazie mille! –
Piccolo bug in questo codice. Questo dovrebbe essere 'queryBuilder.where' invece di' where' –