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

जब मैं find_by_sql उपनाम का उपयोग कर रहा था, तो मैं भ्रमित हो गया

आप सक्रिय रूप से Books लोड कर रहे हैं डेटाबेस से, इसलिए एआरईएल आपके चयन कथन को मॉडल में मैप करने का प्रयास करता है। इस मामले में, यह दिनांक को borrow_date . पर मैप करता है विशेषता और इसे दिनांक वस्तु में परिवर्तित करता है। आपके द्वारा चयनित मूल स्वरूपण अब प्रासंगिक नहीं है क्योंकि इसे किसी ऐसे ऑब्जेक्ट के लिए पार्स किया गया था जिसके दिनांक को प्रिंट करने के अपने नियम हैं।

आपका दूसरा चयन काम करता है क्योंकि संभवत:आपके Book . पर उस नाम की कोई विशेषता नहीं है मॉडल, इसलिए इसे किसी विशिष्ट प्रकार से मैप नहीं किया जा सकता है, इसलिए सादा String उपयोग किया जाता है।

आप बस formatted_borrow_date . जैसा कोई फ़ंक्शन जोड़ सकते हैं अपने मॉडल के लिए या किसी सहायक का उपयोग करके इसे borrow_date . प्रारूपित करने के लिए उपयोग करें हार्डकोडेड SQL और दिनांक स्वरूपण से बचने के लिए रूबी विधियों का उपयोग करना।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LIKE '%{$var}%' को तैयार कथनों के साथ प्रयोग करने का सही तरीका? [माइस्क्ली]

  2. MySQL str_to_date मान्य स्वरूपण के बावजूद NULL उत्पन्न करता है

  3. mysql_query में वेरिएबल कैसे पास करें?

  4. सर्वश्रेष्ठ MySQL प्रदर्शन ट्यूनिंग टूल?

  5. MySQL, एक AUTO_INCREMENT को दूसरी तालिका में पास कर रहा है