2017-03-06 4 views
0

pickup_date、delivery_date、およびstatusの「Order」モデルを取得しています。 だから私は注文を選択したい -activerecordクエリをレールに書き込む

  • 状態ならば配信ならば、DELIVERY_DATEは、いくつかの日付値(eg, '12/12/2012')

あるべき状態ならば、いくつかの日付値(eg, '12/12/2012')

  • あるべきpickup_date picked_upは、私たちを思えばアクティブレコードでWHEN CASEを使用することができます。誰でもこのことで私を助けることができますか? @Mに加えて

    Order.where(status: :picked_up, pickup_date: Date.today).or(Order.where(status: :delivered, delivery_date: Date.today)) 
    
  • 答えて

    1
    Order.where("(status = 'pickup_up' AND pickup_date = :date) OR (status = 'delivered' AND delivery_date = :date)", date: Date.today) 
    

    。 Stavnychaの回答、RailsのActiveRecordクエリインターフェイスに関する素晴らしいセクションがありますhttp://guides.rubyonrails.org/active_record_querying.html

    0

    :あなたが実際にすでにActiveRecordの関係のための方法を使用して 'または' することができますRailsの5では

    0
    Order.where(status: :picked_up).update(:pickup_date '12/12/2012') 
    
    Order.where(status: :delivered).update(:delivery_date '12/12/2012') 
    
    関連する問題