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

रेल ऐप के डीबी/मॉडल में आप व्यवसाय के घंटे कैसे स्टोर करेंगे?

मैं वर्तमान में एक क्लाइंट के लिए एक निर्देशिका सूची स्थापित कर रहा हूं और हम उपयोगकर्ता को अधिक लचीलापन देना चाहते हैं। तो:उपयोगकर्ता को कुछ दिनों के लिए ब्लॉक सेट करने दें:

हमारे पास एक दिन . है (पूर्णांक 1-7), खुलता है (समय), बंद (समय) और कुछ दुकानों या स्थलों में गर्मी और सर्दियों के खुलने का समय होता है, या वे छुट्टियां मनाते हैं। schema.org के अनुसार आपको एक वैध_फ्रॉम (डेटाटाइम) और एक वैध_थ्रू (डेटाटाइम) जोड़ना होगा।

इस सेटअप के साथ उपयोगकर्ता जो चाहे बना सकता है:

# migration
class CreateOpeningHours < ActiveRecord::Migration
  def change
    create_table :opening_hours do |t|
      t.integer :entry_id # your model reference
      t.integer :day
      t.time :closes
      t.time :opens
      t.datetime :valid_from
      t.datetime :valid_through
    end
  end
end

मॉडल के लिए उदाहरण:

class OpeningHour < ActiveRecord::Base

  belongs_to :entry

  validates_presence_of :day, :closes, :opens, :entry_id
  validates_inclusion_of :day, :in => 1..7
  validate :opens_before_closes 
  validate :valid_from_before_valid_through 

  # sample validation for better user feedback
  validates_uniqueness_of :opens, scope: [:entry_id, :day]
  validates_uniqueness_of :closes, scope: [:entry_id, :day]

  protected
  def opens_before_closes
    errors.add(:closes, I18n.t('errors.opens_before_closes')) if opens && closes && opens >= closes
  end

  def valid_from_before_valid_through
    errors.add(:valid_through, I18n.t('errors.valid_from_before_valid_through')) if valid_from && valid_through && valid_from >= valid_through
  end

end

उस सेटअप के साथ आप आसानी से is_open बना सकते हैं? आपके मॉडल में विधि। वर्तमान में मैंने is_open सेटअप नहीं किया है? विधि, लेकिन अगर किसी को जरूरत है, तो मुझे एक हिट दें! मुझे लगता है कि मैं इसे अगले दिनों में समाप्त कर दूंगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy कैशिंग को अक्षम कैसे करें?

  2. फ्लैटफाइल्स पर MySQL का उपयोग क्यों करें?

  3. max_allowed_packet पैरामीटर के साथ भी mysqldump का उपयोग करते समय mysql से कनेक्शन खो जाना

  4. Ubuntu 10.10 (Maverick) पर phpMyAdmin के साथ MySQL प्रबंधित करें

  5. MySQL क्वेरी के आउटपुट को utf8 में बदलें