मैं एक Knex.js उपयोगकर्ता नहीं हूं, लेकिन दस्तावेज़ों को देखकर ऐसा लगता है कि Knex का विधेय को परिभाषित करने के लिए JavaScript ऑब्जेक्ट सिंटैक्स का उपयोग यह है कि यह कैसे पैरामीटरकरण प्राप्त करता है।
हालाँकि, जब आप बिल्ट-इन फ़ंक्शंस का उपयोग कर रहे हैं, तो आपको whereRaw
. का उपयोग करने की आवश्यकता है ।
दस्तावेज़ों को देख रहे हैं ( http://knexjs.org/#Builder-whereRaw ) और ( http://knexjs.org/#Raw-Bindings ) मुझे लगता है कि आप यह करना चाहते हैं:
.whereRaw('question LIKE :term OR note LIKE :term OR user_name LIKE :term', { term: '%' + term + '%' ] } )
Knex में orWhereRaw
नहीं है , इसलिए यदि आप विधेय को तार्किक रूप से अलग करना चाहते हैं तो आपको लॉन्गहैंड संस्करण का उपयोग करना चाहिए:
term = '%' + term + '%';
.orWhere( knex.raw( 'question LIKE ?', [ term ] ) )
.orWhere( knex.raw( 'note LIKE ?', [ term ] ) )
.orWhere( knex.raw( 'user_name LIKE ?', [ term ] ) )
नोट ?
स्थितीय मापदंडों के लिए है, और :term
नामित पैरामीटर के लिए है।