Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

LIKE . का उपयोग करके अज्ञात (गतिशील) प्रश्नों की संख्या पर SQL क्वेरी को रेल करता है

आप जो करना चाहते हैं वह where . के लिए एकल तर्क के रूप में एक सरणी पास करना है जिसमें क्वेरी और डायनेमिक मान दोनों शामिल हैं। उदाहरण के लिए:

where(["att_1 LIKE ? OR att_2 LIKE ?", "value1", "value2"])

यदि किसी सरणी को पहले और एकमात्र तर्क के रूप में पारित किया जाता है, तो सरणी के पहले तत्व को टेम्पलेट के रूप में माना जाता है। निम्न सरणी मानों को क्वेरी टेम्पलेट के लिए गतिशील मान के रूप में माना जाता है।

आपके उदाहरण के लिए, दो अलग-अलग चर होने के बजाय queries और query , उन्हें एक query . में संयोजित करें चर:

# A single array with the query AND values
query = ["hobby LIKE ? OR (gender LIKE ? AND hobby LIKE ?)", "skiing", "male", "jogging"]

# Run the `where` with a single array as the argument
YourModel.where(query)

यह आपको LIKE . का उपयोग करके अज्ञात संख्या में मानों के साथ DB को क्वेरी करने की अनुमति देगा ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं MySQL में ऑर्डर नामक तालिका कैसे बना सकता हूं?

  2. mysql डेटाटाइम और पायथन टाइमस्टैम्प के बीच कनवर्ट करने का सही तरीका क्या है?

  3. json_encode करने के लिए एकाधिक MySQL तालिका

  4. डेटाबेस रिकॉर्ड के विरुद्ध NULL की जाँच -> isset बनाम is_null

  5. JQuery/AJAX और PHP/MySQL का उपयोग कर पहले ड्रॉपडाउन के चयन के आधार पर दूसरा ड्रॉपडाउन कैसे पॉप्युलेट करें?